我需要获取数组c
,它将在Javascript中列出数组b
的成员,这些键在数组a
中列出。密钥完全是任意的。
例如,我得到了:
a = [0, 3, 16];
b = [456, 343453, 34534, 564, 4564, 4545, 456, 5, 54645, 3453, 345345, 3543, 44554, 4545, 4545, 454353, 34534345, 345345, 345345, 457556, 43434, 35354];
我希望数组包含数组b的第1,第4和第17个成员。除了将每个成员推入新阵列之外,还有其他方法,例如:
c = extractArray(b, a);
function extractArray(source, section) {
var target = [];
for(i = 0; i < section.length; i++) {
target.push(source[section[i]]);
}
return target;
}
答案 0 :(得分:0)
因此,迭代a
,并将b
其中一个a
索引中的所有项目添加到c
:
var a = [0, 3, 5, 100],
b = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'],
c = [];
for(var i = 0; i < a.length; i++){
if(b[a[i]] !== undefined)
c.push(b[a[i]]);
}
document.write(JSON.stringify(c));
&#13;
答案 1 :(得分:0)
您可以filter
使用b
a
来构建过滤功能:
function byIndex(indexes) {
return function(elem, index) {
return indexes.indexOf(index) >= 0;
}
}
a = [0, 3, 16];
b = [...some array...];
var filtered = b.filter(byIndex(a));