gpt4 book ai didi

javascript - 如何将 ids 数组与带下划线的对象数组嵌套属性进行比较

转载 作者:行者123 更新时间:2023-12-02 14:40:54 25 4
gpt4 key购买 nike

我正在处理一个不使用 jquery 的项目。我一直在使用下划线或普通javascript。这是我所拥有的一个笨蛋。 plunker

// 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 本身已具有修改后的值。

关于javascript - 如何将 ids 数组与带下划线的对象数组嵌套属性进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com