2017-05-26 55 views
0

我的問題是當我向數組對象添加一個新對象時,最後一個對象字段覆蓋了其他對象字段。最後,所有的物體都變得一樣。這裏是例子javascript將一個對象推向一個數組對象,但其他對象受到影響

array=[{id:1 names:[john,james,alice]}, 
     {id:2 names:[lisa,carlos,josh]}] 

var obj={id:3 names:[david]} 

array.push(obj) 

console.log(array) 

//=>  [{id:1 names:[david]}, 
      {id:2 names:[david]}, 
      {id:3 names:[david]}] 

我有同樣的問題時,試圖刪除其中之一。你有什麼建議?

+0

您需要出示有效的非工作的JavaScript,這是不是。 –

回答

3

你缺少一些撇號和昏迷。

array = [ 
 
    { id: 1, names: ['john', 'james', 'alice']}, 
 
    { id: 2, names: ['lisa', 'carlos', 'josh']} 
 
]; 
 

 
var obj={ id:3, names: ['david']} 
 

 
array.push(obj) 
 

 
console.log(array)

0

您Js無效。試試象下面這樣:

var array =[ 
 
    {id:1, names:['john', 'james', 'alice']}, 
 
    {id:2, names:['lisa', 'carlos', 'josh']}] 
 

 
var obj= {id:3, names:['david']} 
 

 
array.push(obj) 
 

 
console.log('array => ', array)

0

array=[{id:1, names:["john","james","alice"]}, 
 
      {id:2, names:["lisa","carlos","josh"]}]; 
 
    
 
    var obj={id:3, names:["david"]}; 
 
    
 
    array.push(obj); 
 
    
 
    alert(array[0].names); 
 
    
 
    alert(array[1].names); 
 
    
 
    alert(array[2].names);

好像你的代碼是有點亂。 這裏是一個正確的版本

0

你必須把字符串放在引號中,否則它會保持undefined.Comma(,)在id後面缺少數組。嘗試下面代碼 -

var array=[{id:1, names:["john","james","alice"]}, {id:2, names:["lisa","carlos","josh"]}]; 

     var obj={id:3, names:["david"]}; 

     array.push(obj); 

     for(z=0;z<array.length;z++){ 

      alert(array[z]) ; 

     } 
0

JSON不是valid JSON否則你的代碼是工作的罰款。

enter image description here

工作演示:

var array=[{id:1, names:["john","james","alice"]}, 
 
     {id:2, names:["lisa","carlos","josh"]}] 
 

 
var obj={id:3, names:["david"]} 
 

 
array.push(obj); 
 

 
console.log(array);

相關問題