我正在尝试在Google脚本中的对象上使用findIndex(),但是它不起作用。这是一个例子:
function myFunction() {
var searchingJohn = "John";
var DATA = {namesList: []};
DATA.namesList.push({name: "John", otherDataForThisName: []});
var result = DATA.namesList.findIndex(function (element)
{return element.name == this;}, searchingJohn);
return result;
}
这项工作在JavaScript控制台中效果很好,但是Google脚本向我返回了“在对象中找不到TypeError:Fonction findIndex....。”
最佳答案
你不能
您尝试在对象上使用findIndex()
,但是findIndex()
用于数组。
从findIndex()
的MDN文档中:
findIndex()方法返回满足提供的测试功能的数组中第一个元素的索引。否则返回-1。
原因是对象不按任何特定顺序保存键值对。例如,
{key1:value1, key2:value2}
和
{key2:value2, key1:value1}
是完全相同的对象。因此,找不到索引。