gpt4 book ai didi

javascript - 在对象数组中,找到属性与搜索匹配的对象索引的最快方法

转载 作者:IT王子 更新时间:2023-10-29 02:38:08 29 4
gpt4 key购买 nike

我一直在网上冲浪,试图找到一种有效的方法来做到这一点,但一无所获。我有一组看起来像这样的对象:

array[i].id = some number;
array[i].name = some name;

我想做的是找到id等于的对象的INDEXES,例如0,1,2,3或4之一。我想我可以做类似的事情:

var indexes = [];
for(i=0; i<array.length; i++) {
(array[i].id === 0) ? { indexes[0] = i }
(array[i].id === 1) ? { indexes[1] = i }
(array[i].id === 2) ? { indexes[2] = i }
(array[i].id === 3) ? { indexes[3] = i }
(array[i].id === 4) ? { indexes[4] = i }
}

虽然这可行,但它看起来非常昂贵且缓慢(更不用说丑陋了),尤其是在 array.length 可能很大的情况下。关于如何改善这一点的任何想法?我想过以某种方式使用 array.indexOf 但我不知道如何强制语法。这个

array.indexOf(this.id === 0);

例如,返回 undefined,它可能应该返回。

最佳答案

也许您想使用高阶函数,例如“ map ”。假设您要按“字段”属性搜索:

var elementPos = array.map(function(x) {return x.id; }).indexOf(idYourAreLookingFor);
var objectFound = array[elementPos];

关于javascript - 在对象数组中,找到属性与搜索匹配的对象索引的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10557486/

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