dar*_*rsh 3 javascript arrays object typescript
我想在javascript中使用键值对将对象数组转换为对象.
var arr=[{"name1":"value1"},{"name2":"value2"},...}];
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它转换为像这样的对象
{"name1":"value1","name2":"value2",...}
Run Code Online (Sandbox Code Playgroud)
我希望它能在大多数浏览器中得到支持.
Nin*_*olz 17
您可以使用Object.assign和扩展语法...来创建具有对象的给定数组的单个对象.
var array = [{ name1: "value1" }, { name2: "value2" }],
object = Object.assign({}, ...array);
console.log(object);Run Code Online (Sandbox Code Playgroud)
您可以对数组运行reduce 并返回一个新对象。但重要的是要记住,如果属性相同,它们将被覆盖。
const newObject = array.reduce((current, next) => {
return { ...current, ...next};
}, {})
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 es5 而不是 es6:
var newObject = array.reduce(function(current, next){
return Object.assign({}, current, next);
}, {})
Run Code Online (Sandbox Code Playgroud)
使用现代 JS (YMMV):
const arr = [{name1:"value1"}, {name2:"value2"}, {a:1,b:2}];
const obj = Object.fromEntries(arr.flatMap(Object.entries));
console.log(obj);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7741 次 |
| 最近记录: |