【问题标题】:Assign value from one array as a key to another array using lodash javascript [duplicate]使用lodash javascript将一个数组中的值作为键分配给另一个数组[重复]
【发布时间】:2017-04-07 13:29:12
【问题描述】:

我有 2 个数组 -

1- Numbers = [3,4,5]
2- selection= [ [1,2,3,4],[6,5,4,3],[2,9,4]]

现在在输出中我想要 3 应该是关键,即[1,2,3,4] 的索引等等

输出应该低于 -

  selection= = { '3':[1,2,3,4] ,'4':[6,5,4,3] ,'5':[2,9,4]}

【问题讨论】:

  • 迭代,从两个数组中获取当前索引处的元素,添加到对象中。为什么你需要 lodash?

标签: javascript lodash


【解决方案1】:

在纯 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);

【讨论】:

    【解决方案2】:

    只需使用 _.zipObject https://lodash.com/docs/4.17.2#zipObject

    _.zipObject(Numbers, selection)
    

    【讨论】:

    • 这个答案应该澄清它正在使用 lodash。唯一的提示是问题中的标签,这绝对是不够的。同样,即使在技术上是正确的,仅发布一个代码 sn-p 也不可能成为“答案”。
    • 尽管.. 他在这里得到了最多的支持,因为他是对的,因为他阅读了问题和标签。答案可以在 lodash 文档中找到,我认为没有什么要补充的。
    猜你喜欢
    • 2017-09-09
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    相关资源
    最近更新 更多