对象数组中的indexOf方法?获得包含对象的数组的索引的最佳方法是什么?想象一下这个场景:var hello = {
hello: 'world',
foo: 'bar'};var qaz = {
hello: 'stevie',
foo: 'baz'}var myArray = [];myArray.push(hello,qaz);现在我想要indexOf对象hello财产'stevie'在这个例子中,1.我对JavaScript非常陌生,我不知道是否有一个简单的方法,或者我是否应该构建自己的函数来完成这个任务。
3 回答
莫回无
TA贡献1865条经验 获得超7个赞
var indexOfStevie = myArray.findIndex(i => i.hello === "stevie");
var searchTerm = "stevie",
index = -1;for(var i = 0, len = myArray.length; i < len; i++) {
if (myArray[i].hello === searchTerm) {
index = i;
break;
}}function arrayObjectIndexOf(myArray, searchTerm, property) {
for(var i = 0, len = myArray.length; i < len; i++) {
if (myArray[i][property] === searchTerm) return i;
}
return -1;}arrayObjectIndexOf(arr, "stevie", "hello"); // 1不要在数组上使用.in循环 一旦找到“指针”,一定要跳出循环或返回函数。 注意对象相等
var a = {obj: 0};var b = [a];b.indexOf({obj: 0}); // -1 not found
芜湖不芜
TA贡献1796条经验 获得超7个赞
myArray.map(x => x.hello).indexOf('stevie')myArray.findIndex(x => x.hello === 'stevie')
添加回答
举报
0/150
提交
取消
