2012-06-19 54 views
0

你好,我是使用地图()jQuery来创建新的对象数组 DEMO但是这个代码不工作回路对象数组元素的jQuery

我需要对所有同名的新对象数组对象,但有不同数量的 那么如何才能对焦点覆盖旧阵列中的每个元素并改变它的价值,我用value[0].number但它没有这样做的伎俩

CODE

var x =[ 
{name : 'mark' , number : '10'}, 
{name : 'mina' , number : '15' } , 
]; 

var newObject = $.map(x,function(value,index){ 

value.name = 'mon'; 
value[0].number = 12 ; 
value[1].number = 11 ; 
return value ; 

    }); 
console.log(newObject) ; 

问题是我怎么可以指向每个号码的旧对象数组中,并改变它

+1

如果你想要一个不同的数字,为每个元素设置两个数字有什么意义?你最终想要什么样的阵列? – pimvdb

+0

你究竟想要做什么?是否有另一个数据集在映射中使用,以帮助更改值或功能或? – charlietfl

回答

0

旧的对象仍然是这里仍然是所谓x

var newObject = $.map(x,function(value,index){ 

    value.name = 'mon'; 
    x[0].number = 12 ; 
    x[1].number = 11 ; 
    return value ; 

}); 
+0

你为什么要在'map'里面设置? – pimvdb

0

尝试更多的东西像这样(http://jsfiddle.net/BKDLt/1/),生成一个新对象而不是重用旧对象。

var x = [ 
    { 
     name: 'mark', 
     number: 10 
    }, 
    { 
     name: 'mina', 
     number: 15 
    } 
]; 

var newObject = $.map(x, function(value, index) { 
    return { 
     name: value.name + 'mon', 
     number: value.number + 1 
    }; 
}); 
console.log(newObject);​