gpt4 book ai didi

javascript - Javascript 数组中的 indexOF 方法

转载 作者:行者123 更新时间:2023-12-02 18:37:47 25 4
gpt4 key购买 nike

我构建了以下列表:

var names_Array= []; 
var names_List= new WinJS.Binding.List(names_Array);
names_List.push({ name: "Joe Dowling", image: "image/Joe Dowling.png", ClientID: "1234" }, { name: "Esteban Flamenco ", image: "image/Esteban Flamenco.png", ClientID: "6666" });

我希望能够获取 ID 为 6666 的列表的索引。到目前为止,我的尝试是执行以下操作:

var number = names_List.indexOf('{ name: "Esteban Flamenco ", image: "image/Esteban Flamenco.png", ClientID: "6666" }');
console.log(number);

但是我得到了-1(即未找到)。我哪里出错了?

最佳答案

您必须创建一个适合您需求的搜索工具,也许像这样:

function findObject( list, property, value ) {
var i;
for (i = 0; i < list.length; ++i)
if (list[i] != null && list[i][property] == value)
return elem;
}

然后你可以这样做:

var client6666 = findObject(names_List, 'ClientID', '6666');

如果找不到匹配元素,则返回值为未定义

编辑 - 我对 WinJS API 知之甚少(嗯,任何事情),但看起来那些“List”对象不仅仅是简单的数组。我认为你可能必须做这样的事情(不能保证,因为我无法测试这一点):

function findObject( list, property, value ) {
var i, elem;
for (i = 0; i < list.length; ++i)
elem = list.getAt(i);
if (elem != null && elem[property] == value)
return list[i];
}

关于javascript - Javascript 数组中的 indexOF 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com