2014-10-10 64 views
0

我有以下对象和列表:如何用Javascript中的列表中的值替换对象中的值?

myObj = [ 
      { width: 10, height: 15, length: 20 }, 
      { width: 8, height: 10, length: 10 }, 
      { width: 23, height: 5, length: 5 }, 
      { width: 11, height: 18, length: 10 } 
     ]; 
heights = {12,13,14,15}; 

在Javascript或jQuery的是什么,在高度列表中的值替换对象高度的最好方法?订单确实很重要。结果应该是:

myObj = [ 
       { width: 10, height: 12, length: 20 }, 
       { width: 8, height: 13, length: 10 }, 
       { width: 23, height: 14, length: 5 }, 
       { width: 11, height: 15, length: 10 } 
      ]; 
+1

这是错误的方法,使一个数组。它应该是'heights = [12,13,14,15]' – soktinpk 2014-10-10 02:31:30

+0

它肯定是一个数组。你当前的代码给出了一个语法错误。 – 2014-10-10 02:32:45

回答

1

您需要循环,并分配值

var myObj = [{ 
 
    width: 10, 
 
    height: 15, 
 
    length: 20 
 
}, { 
 
    width: 8, 
 
    height: 10, 
 
    length: 10 
 
}, { 
 
    width: 23, 
 
    height: 5, 
 
    length: 5 
 
}, { 
 
    width: 11, 
 
    height: 18, 
 
    length: 10 
 
}]; 
 
var heights = [12, 13, 14, 15]; 
 

 
myObj.forEach(function(obj,i){ 
 
    obj.height = heights[i] 
 
}); 
 
console.log(myObj) 
 

 
document.getElementById('log').innerHTML = JSON.stringify(myObj)
<div id="log"></div>

+0

@ Aarun-p-johny完美!非常感谢。 – user3376065 2014-10-10 02:42:05