2016-11-12 9 views
-2

オブジェクトの特定のプロパティをフィルターに掛けて、プロパティを渡してフィルタリングできる関数に書き直そうとしています。javascript - 未使用の引数 'idtype'は.map()関数から呼び出されましたが

これは最初の関数である。

function filterCategory(xmlObject, id) { 
    let newData = []; 
    xmlObject 
     .Sports[0] 
     .Sport[0] 
     .Category 
     .map(function (category) { 
     if (category.$.CategoryID == id) { 
      newData.push(category); 
     } 
     }); 
    xmlObject 
     .Sports[0] 
     .Sport[0] 
     .Category = newData; 
    return xmlObject; 
} 

これは私の新しい機能である:私のリンターは未使用idtypeを返す第二の機能については

function filterProperty(xmlObject, property, idtype, id) { 
    let newData = []; 

    if(xmlObject.hasOwnProperty(property)) { 
    xmlObject.property.map(function(value) { 
     if(value.$.idtype == id) { 
     newData.push(value); 
     } 
    }); 
    xmlObject.property = newData; 
    } 
    return xmlObject; 
} 

map()関数から呼び出そうとしているので、私の関数は引数にアクセスできますか?それとも失敗しますか?もしそうなら、どうすればこれを避けることができますか?

+0

Wあなたは 'idtype'パラメータを持っていますか? – JJJ

+0

if(value。$。idtype == id){ –

+0

これはJSONとは関係ありません。 'json'タグの使い方の説明を読んでください。 – trincot

答えて

0

idtypeを動的オブジェクトプロパティとして使用する場合は、my.object.idtypeのように使用することはできません。これは、実際には "idtype"と呼ばれるオブジェクトのプロパティを検索するため、ブラケット表記を使用してプロパティにアクセス

value.$[idtype]; 

さらなる説明:

var obj = { one: 1, two: 2, three: 'foobarbaz' }; 
 

 
function getThingFromObject(mything) { 
 
    return obj[mything]; 
 
} 
 

 
console.log(getThingFromObject('one')); // 1 
 
console.log(getThingFromObject('three')); // 'foobarbaz' 
 

 

関連する問題