我一直在四处冲浪,试图找到一种有效的方法来做到这一点,但一无所获。我有一个看起来像这样的对象数组:
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,因为它可能应该。