gpt4 book ai didi

JavaScript,减少。需要将数组转换为对象的函数

转载 作者:行者123 更新时间:2023-11-28 11:05:49 25 4
gpt4 key购买 nike

Reduce 方法并不容易,请帮我解决这个问题。

我需要一个函数,它接收包含任何内容的数组,并返回包含字段的对象

{field1, field2, field3, field4}

如示例所示:输入:

[true,6,'wow','you are smart, bro']

输出:

{field1: true, field2:1, field3: 'wow', field4: 'you are smart, bro'}

最佳答案

使用 Object.fromEntries 的解决方案(仅支持 ECMAScript 2019 的浏览器):

const arr = [true, 6, 'wow', 'you are smart, bro'];

const result = Object.fromEntries(arr.map((x, i) => [`field${i + 1}`, x]));

console.log(result);

使用 Array.prototype.reduce 的解决方案和 ECMAScript 2015:

const arr = [true, 6, 'wow', 'you are smart, bro'];

const result = arr.reduce((acc, cur, i) => ({ ...acc, [(`field${i + 1}`)]: cur }), {});

console.log(result);

以及使用 Array.prototype.reduce 的解决方案和 ECMAScript 5(IE11 之前的浏览器):

var arr = [true, 6, 'wow', 'you are smart, bro'];

var result = arr.reduce(function(acc, cur, i) {
acc['field' + (i + 1)] = cur;
return acc;
}, {});

console.log(result);

关于JavaScript,减少。需要将数组转换为对象的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60688086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com