【问题标题】:Assigning 2 arrays key value in Javascript? [closed]在Javascript中分配2个数组键值? [关闭]
【发布时间】:2021-06-13 16:26:07
【问题描述】:

我有两个数组

ar1 = ["jhon", "doe", "alex"];
ar2 = ["21", "22", "35"];

我想将它们转换成一个对象,就像下面这样

obj=[
{name:'jhon',age:'21'},
{name:'doe', age:'22'},
{name:'alex', age:'35'}
]

我如何在 javascript 中做到这一点?

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour(您将获得徽章!)并通读help center,尤其是How do I ask a good question? 您最好的选择是进行研究,search 以获取有关 SO 的相关主题,然后试一试. (最简单的方法是 for 循环。)如果您在进行更多研究和搜索后遇到困难并且无法解开,请发布minimal reproducible example of您的尝试并具体说明您遇到的问题。人们会很乐意提供帮助。

标签: javascript arrays object javascript-objects


【解决方案1】:

   ar1 = ["jhon", "doe", "alex"];
   ar2 = ["21", "22", "35"];
let obj = function objMaker(ar1,ar2){let arr = []; ar1.map((item,index) => {let obj ={};obj['name']=item; obj['age']=ar2[index];arr.push(obj);}); console.log(arr);return arr;}(ar1,ar2);

【讨论】:

    【解决方案2】:

    您可以使用地图功能:

    var arr1 = ["jhon", "doe", "alex"];;
    var arr2 = ["21", "22", "35"];
    
    const obj = arr1.map((item, index) => {
      return {
       name: item,
       age: arr2[index]
      }
    })
    

    关于map函数,只是为了清理代码,可以使用隐式返回:

    const obj = arr1.map((item, index) => ({
      name: item,
      age: arr2[index]
     })
    )
    

    【讨论】:

    • ar1 未定义 ;)
    • 这只是一个错字,数组是arr1和arr2
    【解决方案3】:

    你基本上可以使用map函数如下。

        var arr1 = ["jhon", "doe", "alex"];;
        var arr2 = ["21", "22", "35"];
    
        var combined = arr1.map(function(item, index) {
            return {name: item, age: arr2[index]};
        });
    

    【讨论】:

    • 如果 arr2 的长度很大,你会错过那些值
    • 此解决方案是针对特定问题的。您对长度是正确的,如果长度不同,它将陷入困境。
    • 没错,两个数组长度相同。该解决方案有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多