gpt4 book ai didi

javascript - 如何转换一个特定对象中的对象数组?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:11:00 25 4
gpt4 key购买 nike

因此,我在上次面试中遇到了非常小但对我来说很难的任务。我只是重置了如何解决它。我认为我们需要在这个任务中实现递归,但我不清楚。

任务:

let arr = [{name: 'width', value: 300}, {name: 'height', value: 100}];

在输出中我们必须有:

let obj = {width:300, height: 100};

数组对象的个数可以是无穷大。

附言如果您向我提供有关如何完成此任务的知识链接,我将非常高兴。

谢谢。

最佳答案

使用函数 reduce 的替代方法

简要说明

  • Array.prototype.reduce 函数循环一个数组,为每个对象应用一个处理程序。
  • 累加器 a 将包含每次迭代的结果。
  • converter 函数接收累加器和当前对象。
  • Object.assign(a, {[name]: value}) 将一个新属性分配给当前累加器。
  • Computed property names {[name]: value} 该代码将构建一个对象,如下所示:
{ width: 300 }

let arr = [{name: 'width', value: 300},{name: 'height', value: 100}],
converter = (a, {name, value}) => (Object.assign(a, {[name]: value})),
obj = arr.reduce(converter, {});

console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://codepen.io/synthet1c/pen/KyQQmL.js"></script>

关于javascript - 如何转换一个特定对象中的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822972/

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