分配值的JavaScript
我有2个阵列 -分配值的JavaScript
1-Numbers = [3,4,5]
2-selection= [ [1,2,3,4],[6,5,4,3],[2,9,4]]
现在,在输出I想3应该是键索引即[1,2,3,4]
等
输出应低于 -
selection= = { '3':[1,2,3,4] ,'4':[6,5,4,3] ,'5':[2,9,4]}
只使用_.zipObject https://lodash.com/docs/4.17.2#zipObject
_.zipObject(Numbers, selection)
这个答案应该说明它使用lodash。唯一的提示是问题中的标签,这绝对不够。同样,即使技术上正确,只发布代码片段也不可能有资格成为“答案”。 –
尽管..他在这里得到了最高的评价,因为他是对的,因为他读了这个问题和标签。 答案可以在lodash文档中找到,我认为没有什么补充。 – Aks
在纯Javascript中,您可以迭代numbers
并使用数字键构建一个新对象,并将具有相同索引的selection
作为值。
var numbers = [3, 4, 5],
selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]],
result = {};
numbers.forEach(function (k, i) {
result[k] = selection[i];
});
console.log(result);
ES6
var numbers = [3, 4, 5],
selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]],
result = numbers.reduce((r, k, i) => Object.assign(r, { [k]: selection[i] }), {});
console.log(result);
迭代,从两个数组中获取当前索引的元素,添加到对象中。为什么你需要lodash? – Tushar