javascript - 将键分配给数组对象

标签 javascript arrays json google-apps-script

我正在努力解决这个问题。本质上,我在对象中有一个键数组和一个值数组,我希望这些值具有键。

以下是我迄今为止最好的尝试 - 通常使用 python,所以这让我有点困惑。

var numbers = [3, 4, 5,6]

var selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]]
var result = [];

for (arr in selection) {
numbers.forEach(function (k, i) {
result[k] = arr[i]
})
};

console.log(result);

我要找的输出是这样的,

results = [{3:1,4:2,5:3,6:4}, {..},..]

喜欢获得正确输出的一些指示。

注意。这是谷歌应用脚​​本!所以不能使用某些 javascript 函数(我认为 MAP 不起作用,不确定 reduce)。

干杯!

最佳答案

创建一个单独的函数,它将键和值作为参数,并使用 reduce() 将其转换为对象。然后在 selections 上应用 map() 并使用该函数为每个子数组创建一个对象

var numbers = [3, 4, 5,6]
var selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]]

function makeObject(keys, values){
  return keys.reduce((obj, key, i) => ({...obj, [key]: values[i]}),{});
}
const res = selection.map(x => makeObject(numbers, x));
console.log(res)

关于javascript - 将键分配给数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60481883/

相关文章:

javascript - 将 javascript 对象键与输入值进行比较

javascript - 当用户单击键盘上的 "Enter"时,jQuery 不会阻止表单提交

javascript - 由 JavaScript 触发的 CSS 转换

javascript - 自动播放有声视频

php - Wordpress SQL 请求,其中包含 WHERE 子句中数组中的数据

数组中的 Javascript 对象属性值

javascript - 根据滚动位置显示消息

javascript - 在 JSON.parse 中使用变量

java - 如何避免 GSON JsonObject 中的反斜杠?

java - json对象包含转换为 "\n"的换行符,同时将json对象转换为字符串或字节