如何在不使用Object.assign的情况下使用javascript将数组转换为对象
我有一个数组如何在不使用Object.assign的情况下使用javascript将数组转换为对象,javascript,arrays,Javascript,Arrays,我有一个数组 [{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}] 我想得到以下格式的对象 {title:"test1",message1:"message1",message2:"message2"} 我正在尝试下面的代码,但没有运气 var rv = {}; for (var i = 0; i < messageArray.length; ++i) if (messageArray[i]
[{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}]
我想得到以下格式的对象
{title:"test1",message1:"message1",message2:"message2"}
我正在尝试下面的代码,但没有运气
var rv = {};
for (var i = 0; i < messageArray.length; ++i)
if (messageArray[i] !== undefined) rv[i] = messageArray[i];`
你应该把你的阵列调平
const rv = [];
for (var i = 0; i < messageArray.length; ++i) {
if (messageArray[i] !== undefined)
rv.push(messageArray[i]);
}
你应该把你的阵列调平
const rv = [];
for (var i = 0; i < messageArray.length; ++i) {
if (messageArray[i] !== undefined)
rv.push(messageArray[i]);
}
您可以使用
reduce
汇总数据,并使用Object.assign()
将新属性合并到对象中
let arr=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
让result=arr.reduce((c,v,i)=>Object.assign(c,v[i]),{});
控制台日志(结果)
您可以使用reduce
汇总数据,并使用Object.assign()
将新属性合并到对象中
let arr=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
让result=arr.reduce((c,v,i)=>Object.assign(c,v[i]),{});
控制台日志(结果)
您可以使用.map()
和.reduce()
:
let数据=[
{0:{title:'test1}},
{1:{message1:{message1}},
{2:{message2:“message2”}
];
让result=data.map((c,i)=>c[i])
.reduce((a,c)=>Object.assign(a,c),{});
控制台日志(结果)
您可以使用.map()
和.reduce()
:
let数据=[
{0:{title:'test1}},
{1:{message1:{message1}},
{2:{message2:“message2”}
];
让result=data.map((c,i)=>c[i])
.reduce((a,c)=>Object.assign(a,c),{});
控制台日志(结果)代码>您可以迭代每个属性,并使用每个属性扩展当前对象。
var object={};
var输入=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
对于(变量i=0;i */
您可以迭代每个属性,并使用每个属性扩展当前对象。
var object={};
var输入=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
对于(变量i=0;i */
您可以将项目按组合到中。然后通过获取内部值,并通过将它们分散到对象中再次合并。assign()
:
const data=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
const result=Object.assign(…Object.values(Object.assign({},…data));
控制台日志(结果)代码>您可以按将项目组合到中。然后通过获取内部值,并通过将它们分散到对象中再次合并。assign()
:
const data=[{0:{title:“test1”},{1:{message1:“message1”},{2:{message2:“message2”}}];
const result=Object.assign(…Object.values(Object.assign({},…data));
控制台日志(结果)代码>以下代码应给出所需的结果,无对象。分配:
//Using map() and reduce()
var arr = [{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}];
var result = arr.map(function(item,i){
return item[i];
})
.reduce(function(acc,item){
return {...acc,...item}
},{})
console.log(result); // {title: "test1", message1: "message1", message2: "message2"}
希望这有帮助 以下代码应给出所需的结果,无需对象。分配:
//Using map() and reduce()
var arr = [{0:{title:"test1"}},{1:{message1:"message1"}},{2:{message2:"message2"}}];
var result = arr.map(function(item,i){
return item[i];
})
.reduce(function(acc,item){
return {...acc,...item}
},{})
console.log(result); // {title: "test1", message1: "message1", message2: "message2"}
希望这有帮助 我发现很难相信你所展示的实际上是你数组的内容。你确定吗?非常非常奇怪。是的,那是我的数组:(我发现很难相信你所展示的实际上是数组的内容。你确定吗?非常非常奇怪。是的,那是我的数组:(