js 判断是否是JSON数组
时间: 2024-03-26 21:35:33 浏览: 74
你可以使用JavaScript的Array对象提供的isArray()方法来判断一个变量是否为数组,然后再通过JSON对象提供的方法判断数组中的元素是否为JSON对象。示例代码如下:
```javascript
function isJSONArr(arr) {
if (!Array.isArray(arr)) {
return false;
}
for (var i = 0; i < arr.length; i++) {
if (typeof arr[i] !== 'object' || Array.isArray(arr[i]) || arr[i] === null) {
return false;
}
}
return true;
}
// 示例用法
var arr1 = [{ "name": "张三", "age": 20 }, { "name": "李四", "age": 30 }];
var arr2 = [1, 2, 3];
console.log(isJSONArr(arr1)); // true
console.log(isJSONArr(arr2)); // false
```
这个函数会判断传入的参数是否为数组,如果是数组就遍历数组中的每个元素,判断元素是否为JSON对象,如果有一个元素不符合条件就返回false,否则返回true。
相关问题
在js中循环遍历json数组,并进行if判断,数组中某个json对象的属性的值满足if条件,输出
你可以使用 JavaScript 的 forEach 方法来循环遍历 JSON 数组,并使用 if 语句对满足条件的 JSON 对象进行输出。以下是一个示例代码:
```javascript
// 假设这是你的 JSON 数组
var jsonArray = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 }
];
// 遍历 JSON 数组
jsonArray.forEach(function(jsonObj) {
// 判断条件,例如判断年龄是否大于等于30
if (jsonObj.age >= 30) {
// 输出满足条件的属性值
console.log(jsonObj.name);
}
});
```
该代码会输出满足条件的 JSON 对象的 `name` 属性值。在这个例子中,只有 `Bob` 的年龄大于等于 30,所以只会输出 `Bob`。你可以根据自己的需求修改条件和输出内容。
js json数组去重,兼容ie
可以使用以下代码实现:
```javascript
var arr = [1, 1, 2, 3, 3, 4, 5, 5];
var result = [];
for (var i = 0; i < arr.length; i++) {
if (result.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
console.log(result);
```
这个方法可以在IE中兼容,但是如果数组中包含复杂的对象,就需要做更多的判断。
阅读全文