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