2016-05-04 11 views
0

jqueryを使用しないプロジェクトで作業しています。私はアンダースコアまたはバニラのjavascriptを使用しています。ここに私が持っているものと一緒に持っているプラ​​ンカがあります。 plunkerオブジェクト配列の入れ子になったプロパティとidsの配列をアンダースコアで比較する方法

// Code goes here 
var successfullIdArray = ["713","281","555"]; 

var tmpTripsArry = [{ 
      "routeUUID": "123", 
      "routeLocations": { 
       "isSubmitLocationSuccess": false, 
       "routeUUID": "123", 
       "locationId": "713" 
      } 
     },{ 
      "routeUUID": "909", 
      "routeLocations": { 
       "isSubmitLocationSuccess": false, 
       "routeUUID": "909", 
       "locationId": "281" 
      } 
     },{ 
      "routeUUID": "800", 
      "routeLocations": { 
       "isSubmitLocationSuccess": false, 
       "routeUUID": "800", 
       "locationId": "555" 
      } 
     },{ 
      "routeUUID": "444", 
      "routeLocations": { 
       "isSubmitLocationSuccess": false, 
       "routeUUID": "444", 
       "locationId": "200" 
      } 
     }];  

var tmpUpdatedTripsArry = _.each(tmpTripsArry, function() { 
     _.find(tmpTripsArry, function (item) { 
      if (successfullIdArray.locationId === item.routeLocations.locationId) { 
       item.routeLocations.isSubmitLocationSuccess = true; 
        return item; 
       } else { 
        return item; 
       } 
      }); 
     });   

     console.log(tmpUpdatedTripsArry) 

は私がtrueに変更さ

isSubmitLocationSuccess

と一致するオブジェクトをsuccessfullIdArrayに対するlocationIdのtmpTripsArryネストされたプロパティを比較して返す必要があります。

私は間違いをしていませんが、私はそれを行うために必要なことをしていません。ありがとう。あなたはすべてのオブジェクトが返される必要がある場合は

答えて

2

は単に

var matchingObjs = tmpTripsArry.filter(function(val){ 
    if (successfullIdArray.indexOf(val.routeLocations.locationId) != -1) 
    { 
    val.routeLocations.isSubmitLocationSuccess = true; 
    } 
    return successfullIdArray.indexOf(val.routeLocations.locationId) != -1 ; 
}) 

をJSアンダースコア、その後、それ自体が変更された値を持っている今tmpTripsArryをforEachの代わりに

tmpTripsArry.forEach(function(val){ 
    if (successfullIdArray.indexOf(val.routeLocations.locationId) != -1) 
    { 
    val.routeLocations.isSubmitLocationSuccess = true; 
    } 
}) 

を使用し、使用することを好みます。

+0

素晴らしい!また、一致するIDがない場合でも、返されるオブジェクトのすべてが必要であることを忘れています。 – texas697

+0

@ texas697更新をチェックする – gurvinder372

関連する問題