我正在尝试在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}


是完全相同的对象。因此,找不到索引。

09-30 16:17