Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分配键';s到数组对象_Javascript_Arrays_Json_Google Apps Script - Fatal编程技术网

Javascript 分配键';s到数组对象

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

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

下面是我迄今为止最好的尝试——通常使用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编号=[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))