簡體   English   中英

如何將ID數組與帶有下划線的對象數組嵌套屬性進行比較

[英]how to compare array of ids with object array nested property with underscore

我正在使用一個不使用jquery的項目。 我一直在使用下划線或香草javascript。 這是我所擁有的一個笨蛋。 矮人

// 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)

我需要將locationId的tmpTripsArry嵌套屬性與successlIdArray進行比較,然后將匹配的對象與

isSubmitLocationSuccess

更改為true。

我沒有收到任何錯誤,但它沒有執行我需要做的事情。 謝謝。 喜歡使用下划線

只是js

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

如果需要返回所有對象,請使用forEach代替

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

現在, tmpTripsArry本身具有修改后的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM