0

您好,我正在使用 map() jquery 创建一个新的对象数组 DEMO,但此代码不起作用

我需要为所有对象创建一个具有相同名称但编号不同的新对象数组,所以我们如何指向旧数组中的每个元素并更改其值,我使用过,value[0].number但它没有成功

代码

  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) ;

问题 是我如何指向旧对象数组中的每个数字并更改它

4

2 回答 2

0

旧对象还在这里,仍然被称为x

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

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

});
于 2012-06-19T19:35:21.907 回答
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);​
于 2012-06-19T19:39:43.357 回答