Javascript 基于另一个表中的索引获取数组元素
我有两个数组。Javascript 基于另一个表中的索引获取数组元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有两个数组。 一个是我的数据: var tab1 = ["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"]; 另一个为int: var tab2 = [1,4,5,8,12,15,18]; 我想输入t
一个是我的数据:
var tab1 = ["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"];
另一个为int:
var tab2 = [1,4,5,8,12,15,18];
我想输入tab3
来自tab1
的值,这些值具有tab2
值的索引我尝试了一些
索引
/查找索引
最好的方法是什么?让我们迭代包含索引的数组,并将数据的值放入对应的索引中
tab2.forEach(i => {
tab3.push(tab1[i])
})
您可以将
tab2
数组映射到名为tab3
const tab1=[
“一”、“二”、“三”、“四”、“五”、“六”、“七”,
“八”、“九”、“十”、“十一”、“十二”、“十三”、“十四”,
“十五”、“十六”、“十七”、“十八”、“十九”、“二十”
];
常数tab2=[1,4,5,8,12,15,18];
常量tab3=tab2.map(index=>tab1[index])
console.log(tab3)
使用Array.map()
:
const tab1=[“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”、“十”、“十一”、“十二”、“十三”、“十四”、“十五”、“十六”、“十七”、“十八”、“十九”、“二十”];
常数tab2=[1,4,5,8,12,15,18];
常量tab3=tab2.map(num=>tab1[num-1]);
console.log(表3)代码>您可以通过使用对象来实现这一点,因为js中没有索引数组
var tab1 = ["one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty"];
var tab2 = [1,4,5,8,12,15,18];
var tab3 = {};
tab2.forEach((val) => {
tab3[val] = tab1[val];
})
console.log(tab3);
当然,tab3的键和值不会匹配,因为js数组是从零开始的。所以您想要tab3=[“二”、“五”、“六”、“九”、“十三”、“十六”、“十九”]?您可以使用map创建您想要的数组tab3=tab2.map(index=>tab1[index])
“我已经试过了”仅仅说你试过还不够好,真的,你应该在发布答案之前展示你实际测试了什么?但是你的答案不会产生结果?@SamuelG OP要求从tab2的值中获得索引,而不是实际数字本身