2016-04-03 5 views
-1

私はjsonオブジェクトidAndNames.jsonを持っています。
[ 

    { "id":"1", "name":"name1"}, 

    { "id":"2", "name":"name2"}, 

    { "id":"3", "name":"name3"} 

] 

iはIDと名前
function checkFilter(id,valueItem) { 

return id <= valueItem; 

} 
//i changed json to array with immutable.js -> fromJS(idAndNames); 

idAndNamesArray.filter(item => checkFilter(item.get('id'),valueItem)); 

ことによってそれをフィルタリングしたいが、私は、IDまたは名前でそれをフィルタリングするカントjsonオブジェクトからのフィルタ値

ときvalueItem = 1;私はエラーを取得整数:「期待される配列または値の反復可能オブジェクト」

ときvalueItem =「1」の文字列には、任意のエラー、それ

はあなたが私は正しい方法を見つけるのを助けることができるだけでdoesntの仕事を与えるdoesntの? https://jsfiddle.net/nyvbb4nd/1/

は、あなたのコード内でvalueItemを宣言しました:あなたは

答えて

1

私はあなたのコードでフィドルを作成しましたし、それがint型や文字列で動作感謝?

var valueItem='1'; //1 
var result = idAndNamesArray.filter(item => checkFilter(item.get('id'),valueItem)); 
console.log(result); 
+0

に渡しています。私はちょうど私があなたの応答のために他の何かが不足していることがわかりました – user2960407

+0

は、idとnameの両方のためにcheckFilter funcを使用する方法ですitem => checkFilter(item.get( 'id')、valueItem)配列のすべての値に同じ関数を使用したいですか? – user2960407

0

だけこの作業のために不変で使用している場合、私はそれを避けるだけES6の構文を使用したい:

私はそれが各フィルタに取り組むことができるように機能を返すようにcheckFilterを更新しました素子。あなたがやらなければならないことは、あなたは、コードが機能している権利ですvalueItem

const checkFilter = (valueItem) => (el) => el.id <= valueItem; 
let result = data.filter(checkFilter('2')); 

DEMO

関連する問題