如何根据索引数组获取值数组?

Sat*_*hya 9 javascript arrays lodash

我有一组两个数组.一个包含一些水果值作为字符串,另一个包含一些随机数.在这里我认为数字数组是fruits数组的索引.如何根据索引数组中的数字获得新的水果数组?

示例代码:

var resultArr = [];
var fruitier = ["apple", "orange", "grapes", "pineapple", "fig", "banana", "jackfruit", "pomegranate"];
var indexArr = [0, 2, 4];
Run Code Online (Sandbox Code Playgroud)

输出:

resultArr = ["apple", "grapes", "fig"];
Run Code Online (Sandbox Code Playgroud)

Aᴍɪ*_*ᴍɪʀ 27

用途.map:

var resultArr = indexArr.map(i => fruitier[i])
Run Code Online (Sandbox Code Playgroud)


Ori*_*ori 10

如果你想用lodash实现,使用_.at():

var fruitier = ['apple', 'orange', 'grapes', 'pineapple', 'fig', 'banana', 'jackfruit', 'pomegranate'];
var indexArr = [0, 2, 4];
var resultArr = _.at(fruitier, indexArr);

console.log(resultArr);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.6/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


Mud*_*san 5

for(var i = 0; i < indexArr.length; i++)
  resultArr.push(fruitier[indexArr[i]]);
Run Code Online (Sandbox Code Playgroud)