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的值中获得
索引,而不是实际数字本身