Javascript 分配键';s到数组对象
我正在努力解决这个问题。本质上,我有一个键数组,对象中有一个值数组,我希望这些值都有键 下面是我迄今为止最好的尝试——通常使用python,所以这对我来说有点混乱Javascript 分配键';s到数组对象,javascript,arrays,json,google-apps-script,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
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编号=[3,4,5,6]
变量选择=[[1,2,3,4],[6,5,4,3],[2,9,4]]
函数makeObject(键、值){
返回key.reduce((obj,key,i)=>({…obj,[key]:value[i]}),{});
}
const res=selection.map(x=>makeObject(number,x));
console.log(res)
在选择和对象上使用map
var数=[3,4,5,6];
变量选择=[
[1, 2, 3, 4],
[6, 5, 4, 3],
[2, 9, 4]
];
var result=selection.map(arr=>
Object.assign({},…arr.map((x,i)=>({[numbers[i]]:x})))
);
控制台日志(结果)代码>为每个数字数组从头创建一个对象:
常量选择=[
[1, 2, 3, 4],
[6, 5, 4, 3],
[2, 9, 4],
];
函数objMaker(numarr){
常量数=[3,4,5,6];
numar.forEach((num,i)=>(this[numbers[i]]=num));
}
console.info(selection.map(numar=>newobjmaker(numar))代码>