我有值的数组和对象,其中的值较小的阵列:如何合并数组和对象,其中值是数组
array = [1, 2, 3, 4, 2]
object = {
gender: [male, female],
grade: [7th, 8th, 9th],
}
我要压缩数组和对象,以使阵列中的值被分配到被键入与该对象中的值的新的对象,这样的:
targetObject = {
gender: [
male: 1,
female: 2,
],
grade: [
7th: 3,
8th: 4,
9th: 2,
],
}
我的第一刺是通过对象进行迭代,并创建一个新的数组
var newArray = [];
for(key in object) {
for(i=0;i<key.length;i++){
newArray.push(key[i]);
}
}
然后压缩在一起
var newObject = {};
for (var i = 0; i < newArray.length; i++) {
newObject[newArray[i]] = array[i];
}
如果我的语法写我相信我在这里:
array == [1, 2, 3, 4, 2]
object == {
gender: [male, female],
grade: [7th, 8th, 9th],
}
newArray == [male, female, 7th, 8th, 9th]
newObject == {
male: 1,
female: 2,
7th: 3,
8th: 4,
9th: 2,
}
它看起来像我接近,但我也觉得我串起一堆脆弱的代码。有没有更好的办法?如果不是,我怎么从我NEWOBJECT去我targetObject
你如何在目标探测序属性,我的意思是为什么''上1'而不是'7th' male'地图? – Grundy
你的目标输出似乎不可思议,应该不会是一个对象... – epascarello