JS_一维数组转对象

如果您想将一个一维数组转换为一个对象,可以使用 JavaScript 中的 Object.fromEntries() 方法。该方法接收一个键值对数组作为参数,并返回一个对象,其中每个键值对对应一个对象属性

const arr = ["name", "John", "age", 30, "city", "New York"];
const obj = Object.fromEntries(arr.reduce((result, item, index, array) => {
  if (index % 2 === 0) {
    result.push(array.slice(index, index + 2));
  }
  return result;
}, []));
console.log(obj); // 输出: { name: "John", age: 30, city: "New York" }

在这里,我们首先定义了一个名为 arr 的一维数组,它包含了多个键和值,每个键和值都是连续的数组元素。接下来,我们使用 reduce() 方法将该数组转换为一个键值对数组,其中每个键值对都是一个包含两个元素的数组,第一个元素是键,第二个元素是值。在回调函数中,我们检查数组的索引是否为偶数,如果是,则将当前和下一个元素组成的数组添加到结果数组中。最后,我们使用 Object.fromEntries() 方法将键值对数组转换为一个对象,并将其保存在名为 obj 的变量中。最后,我们将输出该对象,它将包含所有键和值的属性。

请注意,该方法要求键和值必须交替出现在数组中。如果数组中的元素数量不是偶数,最后一个元素将被忽略。如果数组中有重复的键,后面的值将覆盖前面的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值