JavaScript - 与另一个数组的数组映射

时间:2016-12-19 02:28:36

标签: javascript arrays

我有两个数组从这开始:

let numDays = ["0","2","4"]

let days = days.map(?)

days
> ['Sunday', null, 'Tuesday', null, 'Thursday', null, null]

根据我给出的数据,我想用相应的工作日映射一个新数组,但仍保持相同大小的数组。

numDays

我尝试过转换功能,可以将weekdays转换为相应的const convert = function (c) { return weekdays[c]; } numDays.map(convert) > ['Sunday', 'Tuesday', 'Thursday']

{{1}}

但不确定如何保留我需要的结果的数组大小。

干杯!

2 个答案:

答案 0 :(得分:2)

这种方法可能比使用map更容易,您可以使用forEach循环遍历所需的索引,查找当天并根据需要将它们添加到days数组中。 / p>

const weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
let numDays = ["0","2","4"]
let days = [null, null, null, null, null, null, null];
numDays.forEach(i=>days[i] = weekdays[i]);
console.log(days);

答案 1 :(得分:2)

我认为您不需要[null, null, null, null, null, null, null]变量为const weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; let numDays = ["0","2","4"]; var days = weekdays.map(function(day, index){ if (numDays.indexOf(index.toString()) >= 0){ return day; } else { return null; } }); console.log(days);

app.config

相关问题