2016-03-22 13 views
0

json配列から項目を削除する方法は知っていますが、追加するときには機能しないようです。名前/値を使ってjson配列から項目を追加する

配列:

var users = [ 
{name: 'james', id: '1'} 
] 

を追加したいので、それは次のようになります。

var users = [ 
    {name: 'james', id: '1'}, 
    {name: 'thomas', id: '2'} 
    ] 

はここ配列を除去するためのコードです:

Array.prototype.removeValue = function(name, value){ 
     var array = $.map(this, function(v,i){ 
     return v[name] === value ? null : v; 
    }); 
    this.length = 0; //clear original array 
    this.push.apply(this, array); //push all elements except the one we want to delete 
    } 

    removeValue('name', value); 
//space removed 

私が作る必要があるでしょうどのような変更配列に値を追加するために逆にするには?

+0

JSON(テキストデータ交換表記)とネイティブJavaScript配列を混同しないでください。猫がレモンと関係があるので、あなたが求めているのはJSONと同じくらいです。また、あなたの 'removeValue'は、オブジェクト配列ではなく、任意の配列で動作するようです。このことを踏まえて、「名前/値で」項目をどのくらい正確に追加するかについて詳しく説明してください。 –

+0

用語と構文の不適切な使用に関するお詫び。私が望むのは本質的にこれの反対です(削除の代わりに追加):http://stackoverflow.com/questions/6310623/remove-item-from-json-array-using-its-name-value – Juan

+0

あなたは ' addValue( 'name'、value); '正確には何ですか?新しいオブジェクトを配列に追加しますか?配列内のすべてのオブジェクトを更新しますか?入力と予想される出力の例を提供するだけであれば、私たちがあなたを助けることはずっと簡単です。投稿したコードは、あなたの質問にはほとんど関係ありません。 –

答えて

0

Array.prototype.push()

var sports = ["plongée", "baseball"]; 
var total = sports.push("football", "tennis"); 

console.log(sports); // ["plongée", "baseball", "football", "tennis"] 
console.log(total); // 4 
0

私はより多くのフィッティング関数がmapよりfilterだと思います。

Array.prototype.removeValue = function(name, value){ 
    var array = $.filter(this, function(v,i){ 
     return v[name] !== value; 
    }); 
    this.length = 0; //clear original array 
    this.push.apply(this, array); //push all elements except the one we want to delete 
} 

私は自分で使ったことがないので、長さとプッシュハックの作業を想定しています。

+0

これは質問に関するものではありません。 OPは**配列に何かを追加したい**です。彼らは、何かを削除する方法を知っていることを示すコードを投稿しました(完全に無関係ですが)。 –

関連する問題