【发布时间】:2022-01-08 01:12:28
【问题描述】:
我有数组 "arr" 包含 2 个对象,每个对象都有数组 "innerArr" 包含 2 或 3 个具有一个值的对象 "每个对象的 val":
let arr = [
{
innerArr: [
{ val: "Apple" },
{ val: "Grape" }
]
},
{
innerArr: [
{ val: "Peach" },
{ val: "Mango" },
{ val: "Kiwi" }
]
}
];
现在,我想通过 "arr" 数组中的所有内部数组 "innerArr" 检查是否存在至少一个特定值,例如 "Kiwi" "。
我创建了代码来检查是否存在至少一个特定值“Kiwi”,它会返回“true”。
let result = false;
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr[i].innerArr.length; j++) {
if(arr[i].innerArr[j].val == "Kiwi") { // Check if "Kiwi" exists
result = true;
}
}
}
console.log(result); // true
这是完整的可运行代码:
let arr = [
{
innerArr: [
{ val: "Apple" },
{ val: "Grape" }
]
},
{
innerArr: [
{ val: "Peach" },
{ val: "Mango" },
{ val: "Kiwi" }
]
}
];
let result = false;
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr[i].innerArr.length; j++) {
if(arr[i].innerArr[j].val == "Kiwi") { // Check if "Kiwi" exists
result = true;
}
}
}
console.log(result); // true
此外,"Strawberry" 就是这种情况,它返回 "false":
let arr = [
{
innerArr: [
{ val: "Apple" },
{ val: "Grape" }
]
},
{
innerArr: [
{ val: "Peach" },
{ val: "Mango" },
{ val: "Kiwi" }
]
}
];
let result = false;
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr[i].innerArr.length; j++) {
if(arr[i].innerArr[j].val == "Strawberry") { // Check if "Strawberry" exists
result = true;
}
}
}
console.log(result); // false
但是,我想用 "Kiwi" 简化这段代码。有什么方法可以让这段代码更简单吗?
let result = false;
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr[i].innerArr.length; j++) {
if(arr[i].innerArr[j].val == "Kiwi") { // Check if "Kiwi" exists
result = true;
}
}
}
console.log(result); // true
【问题讨论】:
标签: javascript arrays json object frontend