我有两个对象数组。
我正在通过 id 和可用性进行比较
例如
let newCars = []
cars.forEach((car) => {
const element = _.find(this.state.cars, function(o) {
return (o.id === car.id && (o.available < car.available))
})
if (element) {
newCars.push(element)
}
})
但是,我还想在 newCars 数组中包含 this.state.cars 中不存在但仅通过 id 进行比较的元素。
例如,如果 cars 有 {id: 1, available: 4},而 this.state.cars 有 {id: 1, available: 5},则将被视为存在于两个数组中并且不会被返回。
总而言之,我需要 cars 中的所有元素 which car.available > car.available 用于 this.state.cars 中具有相同 id 的元素,此外,还需要 cars 中未包含在此的所有元素。 state.cars 仅通过 id 进行比较包含。
这可能吗? (使用 lodash 或纯 js)
谢谢
最佳答案
尝试查找元素,如果找不到则添加它,如果找到并且需要可用性也添加它。
let newCars = []
cars.forEach((car) => {
const element = _.find(this.state.cars, function(o) {
return o.id === car.id
})
if (!element || element.available < car.available) {
newCars.push(car)
}
})
关于javascript - 数组包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493669/