如果您想将一个一维数组转换为一个对象,可以使用 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 的变量中。最后,我们将输出该对象,它将包含所有键和值的属性。
请注意,该方法要求键和值必须交替出现在数组中。如果数组中的元素数量不是偶数,最后一个元素将被忽略。如果数组中有重复的键,后面的值将覆盖前面的值。