遍历Object中的数组,返回值是true or false
时间: 2023-05-25 07:06:41 浏览: 182
JS中数组与对象的遍历方法实例小结
为了回答这个问题,需要更多的上下文信息。可能的解决方法如下:
如果要检查Object中是否有数组存在,可以使用以下代码:
```javascript
function hasArray(obj) {
for (var key in obj) {
if (Array.isArray(obj[key])) {
return true;
}
}
return false;
}
var obj = {
a: [1, 2, 3],
b: 'hello',
c: { name: 'Jack' }
};
console.log(hasArray(obj)); // true
```
如果要检查所有数组元素是否满足某个条件,可以使用以下代码:
```javascript
function allElementsSatisfy(obj, condition) {
for (var key in obj) {
if (Array.isArray(obj[key])) {
if (!obj[key].every(condition)) {
return false;
}
}
}
return true;
}
var obj = {
a: [2, 4, 6],
b: [3, 5, 7],
c: { name: 'Jack' }
};
console.log(allElementsSatisfy(obj, x => x % 2 === 0)); // false
console.log(allElementsSatisfy(obj, x => x > 0)); // true
```
如果要检查部分数组元素是否满足某个条件,可以使用以下代码:
```javascript
function someElementsSatisfy(obj, condition) {
for (var key in obj) {
if (Array.isArray(obj[key])) {
if (obj[key].some(condition)) {
return true;
}
}
}
return false;
}
var obj = {
a: [-3, 2, 4],
b: [-5, 3, 5],
c: { name: 'Jack' }
};
console.log(someElementsSatisfy(obj, x => x % 2 === 0)); // true
console.log(someElementsSatisfy(obj, x => x < 0)); // true
console.log(someElementsSatisfy(obj, x => x > 0)); // false
```
希望这些代码片段能够解决你的问题。
阅读全文