使用循环更改数组对象

时间:2015-07-11 05:22:31

标签: javascript jquery

var arr = [{id:1,"name":"John"},{id:2,"name":"James"}]

$.each(arr, function(){
if(this.id == 1){
//change john to Johnathan
}
});

不使用密钥,是否可以更改数组对象?

4 个答案:

答案 0 :(得分:0)

你在循环中这样做:

var arr = [{id:1,"name":"John"},{id:2,"name":"James"}]

$.each(arr, function(){
if(this.id == 1){
this.name = 'Johnathan';
//change john to Johnathan
}
});

答案 1 :(得分:0)

当你正在寻找黑客攻击时,确实可以通过将对象转换为字符串来实现。你想要做什么?

var arr = [{id:1,"name":"John"},{id:2,"name":"James"}]

$.each(arr, function(i){
     if(this.id == 1){
         arr[i] = JSON.parse(JSON.stringify(this).replace("John", "Johnathan"))
     }
});

答案 2 :(得分:0)

我能想到的唯一方法是将所有属性中的所有“John”值更改为“Johnson”而不显式使用属性名称。您可以循环对象的所有属性。

File inspector

这可能对您不起作用,但它是在不使用属性名称的情况下获取对象值的唯一方法。

答案 3 :(得分:0)

然后我认为你需要用id == 1

替换整个数组的对象

这是我试过的



     $urltopost = "http://www.xxxx.yyy.com/zzz.php";
     $ch = curl_init ($urltopost);
     curl_setopt ($ch, CURLOPT_POST, true);
     curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
     $returndata = curl_exec ($ch);
     print_r($returndata);