Javascript:通过另一个数组中列出的键提取一个数组
Javascript: extract an array by keys listed in another array
我需要获得数组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;
}
因此,对a
进行迭代,并在a
的一个索引处将b
中的所有项添加到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));
您可以使用a
在b
上使用filter
来构建过滤函数:
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));
相关文章:
- Regex提取URL返回数组的一部分;未定义”;
- 如何从合并的结果集中提取数组
- 如何从数组中提取对象
- 从多维数组javascript中提取特定值
- 从数组中提取特定信息
- 使用JavaScript在Json中提取时,将数组的元素转换为String
- 正在复制数组并提取
- 在Jquery中从JSON中提取数组值
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 使用从forEach循环中提取的国家代码从数组中获取国家名称
- 如何在javascript中使用localStorage从数组中存储和提取数据
- 循环遍历数字和字母数组并仅提取数字
- 如何从..中提取信息..我称之为数组
- 如何从生成的JSON数组中提取JSON对象
- 在jquery中使用.split并从数组中提取第一个项
- 在提取dom对象后,无法将每个名为tab的元素推送到数组中
- 使用jsRender,如何使用有序位置以外的东西从数组中提取特定项
- 创建新的javascript数组,从对象属性中提取数据
- 从SQL中提取一个表来创建javascript数组
- Javascript数组提取重复到新的数组