簡體   English   中英

需要將數組推送到對象

[英]need to push an array to an object

我需要將數組推送到無法執行此任務的對象中的對象。 我正在研究角度6

這是一個例子。

 abc = { data: { name: '', version: '', type: '', ports: [], vm:[] } };

  let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm'];
//Need to push hostlist data to adc.data.vm
this.adc.data.vm.push(hostlist);
//this output is array inside array
this.adc.data.vm.concat(hostlist);
// concat cont work gives empty array

我需要這種格式的輸出

{ name: '', version: '', type: '', ports: [], vm:['1234.Vm', '5678.Vm', '6789.Vm'] }

您可以使用傳播運算符push ,也可以push adc.data.vm重新分配給concat結果 (因為concat返回新數組而不更改現有數組):

方法1:使用傳播運算符push()

 // method 1: push with spread operator let adc = { data: { name: '', version: '', type: '', ports: [], vm: [] } }; let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm']; adc.data.vm.push(...hostlist); console.log(adc); 

方法2:重新分配給concat的結果

 let adc = { data: { name: '', version: '', type: '', ports: [], vm: [] } }; let hostlist = ['1234.Vm', '5678.Vm', '6789.Vm']; adc.data.vm = adc.data.vm.concat(hostlist); console.log(adc); 

您可以始終將對象分配給該屬性:

abc.data.vm = abc.data.vm.concat(['1234.Vm', '5678.Vm', '6789.Vm']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM