js两次循环遍历一个二维数组,去校验最里面的对象值是否为空
时间: 2023-07-28 08:41:57 浏览: 40
可以使用双重循环对二维数组进行遍历,然后在最里面的循环中进行判断,示例代码如下:
```javascript
const arr = [
[{name: 'Alice', age: 22}, {name: 'Bob', age: 30}],
[{name: 'Charlie', age: 25}, {name: 'David', age: 28}],
[{name: '', age: null}, {name: 'Eva', age: 24}]
];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].length; j++) {
if (!arr[i][j].name || !arr[i][j].age) {
console.log(`第 ${i} 行,第 ${j} 列的对象值为空`);
}
}
}
```
在这个例子中,我们定义了一个二维数组 `arr`,然后使用双重循环对其进行遍历。在最里面的循环中,我们使用了 `if` 语句来判断当前对象的 `name` 或 `age` 是否为空,如果为空就输出一条消息。这样就可以对二维数组中的所有对象进行校验了。
需要注意的是,这里的判断条件是 `!arr[i][j].name || !arr[i][j].age`,即只要 `name` 或 `age` 中有一个为空,就会被判断为空值。如果需要更加精确的判断,可以根据具体情况进行修改。
相关问题
ES6写法两次循环遍历一个二维数组,去校验最里面的对象值是否为空
ES6中可以使用数组的 `forEach` 方法来代替循环语句,简化代码。示例代码如下:
```javascript
const arr = [
[{name: 'Alice', age: 22}, {name: 'Bob', age: 30}],
[{name: 'Charlie', age: 25}, {name: 'David', age: 28}],
[{name: '', age: null}, {name: 'Eva', age: 24}]
];
arr.forEach((row, i) => {
row.forEach((obj, j) => {
if (!obj.name || !obj.age) {
console.log(`第 ${i} 行,第 ${j} 列的对象值为空`);
}
});
});
```
在这个例子中,我们使用了数组的 `forEach` 方法来对二维数组进行遍历。在外层的 `forEach` 中,第一个参数 `row` 表示当前行的数组,第二个参数 `i` 表示当前行的索引。在内层的 `forEach` 中,第一个参数 `obj` 表示当前对象,第二个参数 `j` 表示当前对象的索引。这样就可以对二维数组中的所有对象进行校验了。
需要注意的是,这里的判断条件和上面的示例一样,即只要 `name` 或 `age` 中有一个为空,就会被判断为空值。如果需要更加精确的判断,可以根据具体情况进行修改。
lua遍历一个二维数组
在 Lua 中,可以使用嵌套的 for 循环来遍历二维数组。下面是一个示例代码:
```lua
-- 定义一个 2x3 的二维数组
local arr = {
{1, 2, 3},
{4, 5, 6}
}
-- 遍历二维数组
for i = 1, #arr do
for j = 1, #arr[i] do
print(arr[i][j])
end
end
```
在上面的代码中,我们首先定义了一个 2x3 的二维数组 arr。然后使用嵌套的 for 循环来遍历数组。外层循环变量 i 控制行数,内层循环变量 j 控制列数。通过 arr[i][j] 的方式访问二维数组中的元素,最后将元素打印出来。