[英]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)
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.