简体   繁体   English

将数组转换为对象并将对象推入数组-javascript

[英]Convert array to object and push object into array -javascript

I getting the response array data is: 我得到的响应数组数据是:

var data =[{
    'id':'1','name':'sam'
}];
var data =[{
    'id':'2','name':'ram'
}];
var data =[{
    'id':'2','name':'ragu'
}];

I am getting this data into looping method . 我将这些数据放入循环方法中。 This results are my server side console only. 此结果仅是我的服务器端控制台。 But, my client side as only view the first array data only so, i need to convert that array data into object and push into another var = arraydata . 但是,我的客户端只查看第一个数组数据,因此,我需要将该数组数据转换为对象并推送到另一个var = arraydata中

I tried this code: 我尝试了这段代码:

            var arrayData =[];
            var  [objectData] = data;
            arrayData.push(objectData);

I Tried result is: 我尝试的结果是:

var arrayData =[{
            'id':'1','name':'sam'
        }];

but i getting single data only 但是我只得到单个数据

my expected result is : 我的预期结果是:

var arrayData =[{
        'id':'1','name':'sam'
    },{
        'id':'2','name':'ram'
    },{
        'id':'2','name':'ragu'
    }];

please give any solution solution for me! 请给我任何解决方案!

You can try Array concat() method. 您可以尝试使用数组concat()方法。

 var data1 =[{ 'id':'1','name':'sam' }]; var data2 =[{ 'id':'2','name':'ram' }]; var data3 =[{ 'id':'2','name':'ragu' }]; var arrayData = data1.concat(data2, data3); console.log(arrayData); 

Using ES6 Destructuring assignment : 使用ES6解构分配

 let data1 =[{ 'id':'1','name':'sam' }]; let data2 =[{ 'id':'2','name':'ram' }]; let data3 =[{ 'id':'2','name':'ragu' }]; [...arrayData] = [...data1, ...data2, ...data3]; console.log(arrayData) 

ES6 ES6

You could use [].concat.apply([],[v1,va2.... so on])) to get the required result. 您可以使用[].concat.apply([],[v1,va2.... so on]))获得所需的结果。

DEMO DEMO

 var data =[{'id':'1','name':'sam'}], data1 =[{'id':'2','name':'ram'}], data2 =[{'id':'2','name':'ragu'}]; console.log([].concat.apply([],[data,data1,data2])) 
 .as-console-wrapper {max-height: 100% !important;top: 0;} 


You can also use the Spread_syntax 您也可以使用Spread_syntax

DEMO DEMO

 const data =[{'id':'1','name':'sam'}], data1 =[{'id':'2','name':'ram'}], data2 =[{'id':'2','name':'ragu'}]; console.log([...data,...data1,...data2]) 
 .as-console-wrapper {max-height: 100% !important;top: 0;} 

I think your problem is var arrayData =[]; 我认为您的问题是var arrayData =[]; , this code create arrayData is empty. ,此代码创建arrayData为空。

You should use var arrayData = arrayData || []; 您应该使用var arrayData = arrayData || []; var arrayData = arrayData || []; I hope it help you. 希望对您有帮助。

You can youse .concat() as per the example below: 您可以按照以下示例使用.concat()

var data1 = [{
    'id':'1','name':'sam'
}];

var data2 = [{
    'id':'2','name':'ram'
}];

var out = [].concat(data1, data2);


// After more data, or one at a time example
var data3 = [{
    'id':'3','name':'ragu'
}];

out = out.concat(data3)

console.log(out);

-> [{
->    'id':'1','name':'sam'
-> },{
->    'id':'2','name':'ram'
-> },{
->     'id':'2','name':'ragu'
-> }];

you can concat all the arrays into one:: 您可以将所有数组合并为一个:

suppose I have 3 arrays 假设我有3个数组

var data =[{
'id':'1','name':'sam'

}]; }]; var data1 =[{ 'id':'2','name':'ram' }]; var data1 = [{{'id':'2','name':'ram'}]; var data2 =[{ 'id':'3','name':'ragu' }]; var data2 = [{{'id':'3','name':'ragu'}];

you can get the result by 你可以得到的结果

var output=data.concat(data1,data)

you can use .forEatch() 您可以使用.forEatch()

var data = [{
    'id':'1','name':'sam'
}];

var data2 = [{
    'id':'2','name':'ram'
}];

data2.forEach(element => {
    data.push(element);
});

console.log(data);

try this, 尝试这个,

use ES6 spread operator and push the new array object into old array. 使用ES6传播运算符并将新的数组对象推送到旧的数组中。

var data =[{
    'id':'1','name':'sam'
}];
var data1 =[{
    'id':'2','name':'ram'
}];

data.push(...data1)

Hope this helps you :) 希望这对您有所帮助:)

An array of Objects can be created by using the Spread operators 可以使用Spread运算符创建对象数组

var data1 = [{
    'id':'1','name':'sam'
}];

var data2 = [{
    'id':'2','name':'ram'
}];
var data3 =[{
   'id':'2','name':'ragu'
}]; 
var data=[...data1,...data2, data3]

//console.log(data)

This will return you JSON object [{},{},{}] 这将返回JSON对象[{},{},{}]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM