使用两个数组在javascript中分配两个不同的值

use*_*203 2 javascript arrays ecmascript-6

我知道我的问题标题看起来很奇怪,但我不知道怎么问这样的问题.

我有两个 arrays

a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

b = ["gf","gdf","gdf"]
Run Code Online (Sandbox Code Playgroud)

我有一个这样的return语句:

return {
    options: a.map(value => ({ label: value, value: value }))
};
Run Code Online (Sandbox Code Playgroud)

但我希望选项内部的值取b数组的值而不是a数组的值.这该怎么做?

Nen*_*car 5

您可以将第二个参数传递给map()index,并使用它从b数组中获取元素.

var a = [1,2,3], b = ["gf","gdf","gdf"]

var options = a.map(function(value, index) {
 return { label: value, value: b[index] }
})

console.log(options)
Run Code Online (Sandbox Code Playgroud)

如果你想使用ES6和箭头功能,你可以得到相同的结果.

var a = [1,2,3], b = ["gf","gdf","gdf"]

var options = a.map((v, i) => ({label: v, value: b[i]}))
console.log(options)
Run Code Online (Sandbox Code Playgroud)