我一直在四处寻找一种有效的方法来做到这一点,但一无所获。我有一个看起来像这样的对象数组:
array[i].id = some number;
array[i].name = some name;
我想要做的是找到 id 等于的对象的索引,例如,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);
例如,返回未定义的,因为它可能应该。