gpt4 book ai didi

javascript - 如何从数组中返回匹配项之前的 2 个元素?

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:22 24 4
gpt4 key购买 nike

我只是在寻找最简单的方法来检查对象数组中的任何字段是否具有值 0 并返回包含值 0 的对象之前的前两个对象。

for(var = 0; i <= result.length; i++)
{

//so in my case, it will return result[1] and result[2]
}

我该怎么办?

我的结果数据

result =  [
{ A: 1, B: 2, C: 41, D: 124 },
{ A: 123, B: 221, C: 397, D: 81 },
{ A: 123, B: 412, C: 400, D: 454 },
{ A: 0, B: 412, C: 400, D: 454 }]

最佳答案

可以通过一种简单的方式完成:循环遍历对象,并为每个对象循环遍历其属性,一旦找到零,则返回前两项(按索引):

let result = [{ A: 1, B: 2, C: 41, D: 124}, { A: 123, B: 221, C: 397, D: 81}, { A: 123, B: 412, C: 123, D: 454}, { A: 0, B: 21, C: 53, D: 81}]

const getLastTwo = (objArray) => {
for (let obj of objArray) {
for (let prop in obj) {
if (obj[prop] === 0) {
const index = objArray.indexOf(obj)
return [objArray[index-2], objArray[index-1]]
}
}
}
return [] // if we got here - no such element was found!
}

console.log(getLastTwo(result))
// [ { A: 123, B: 221, C: 397, D: 81 }, { A: 123, B: 412, C: 123, D: 454 } ]

关于javascript - 如何从数组中返回匹配项之前的 2 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582430/

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