为了账号安全,请及时绑定邮箱和手机立即绑定

如何从数组创建 JS 对象

如何从数组创建 JS 对象

HUH函数 2023-04-14 15:02:36
我有两个数组const time = ['00:00', '00:30', '01:00', '01:30']const cost = [1.40, 5.00, 2.00, 3.00]我想将它们合并到一个对象数组中,键如下:result = [    {        time: '00:00',        cost: 1.40    },    {        time: '00:30',        cost: 5.00    },    {        time: '01:00',        cost: 2.00    },    {        time: '01:30',        cost: 3.00    }]
查看完整描述

4 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您可以尝试使用Array.prototype.map():

map()方法创建一个新数组,其中填充了对调用数组中的每个元素调用提供的函数的结果。

const time = ['00:00', '00:30', '01:00', '01:30'];

const cost = [1.40, 5.00, 2.00, 3.00];

var result = time.map((t, i)=>({time: t, cost: cost[i]}));

console.log(result);


查看完整回答
反对 回复 2023-04-14
?
当年话下

TA贡献1890条经验 获得超9个赞

          const time = ['00:00', '00:30', '01:00', '01:30'];

            const nums = [1.99, 5.11, 2.99, 3.45 ];

            const newArray = [];



            time.forEach((element, index) => {

                newArray.push({

                    time: element,

                    cost: nums[index]

                })

            })


            console.log(newArray)

            


查看完整回答
反对 回复 2023-04-14
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

可以通过以下方式完成:-


const time = ['00:00', '00:30', '01:00', '01:30']

const cost = [1.40, 5.00, 2.00, 3.00]



let array = []

for(let i=0; i<4; i++){

  let obj = {}

  obj.time = time[i]

  obj.cost = cost[i]

  array.push(obj)

}

console.log(array)

输出 -


[

  { time: '00:00', cost: 1.4 },

  { time: '00:30', cost: 5 },

  { time: '01:00', cost: 2 },

  { time: '01:30', cost: 3 }

]


查看完整回答
反对 回复 2023-04-14
?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以遍历两个数组之一,然后将对象填充到声明的数组中,如下所示。


const time = ['00:00', '00:30', '01:00', '01:30'];

const cost = [1.4, 5.0, 2.0, 3.0];


let objArr = [];


time.forEach((t, i) => {

  objArr[i] = {

    time: t,

    cost: cost[i],

  };

});


console.log(objArr);


查看完整回答
反对 回复 2023-04-14
  • 4 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信