遍历json所有的key,如果当前层的某个key对应的值是object或者数组的话就继续递归,如果其他值就是具体的值了!
上代码
//json递归所有值
function jsonRQA(object, cb) {
for (let key in object) {
if (object.hasOwnProperty(key)) {
const element = object[key];
if (Object.prototype.toString.call(element) ===
"[object Array]" ||
Object.prototype.toString.call(element) ===
"[object Object]") {
jsonRQA(element);
} else {
if (cb) {
cb();
} else {
console.log(element);
}
}
}
}
}
附送js判断对象和数组
var a = {};
var b = [];
console.log(Object.prototype.toString.call(a) === '[object Object]');//判断对象 返回true
console.log(Object.prototype.toString.call(b) === '[object Array]');//判断数组 返回true
当然 '[object Date]'是用来判断日期 '[object RegExp]' 是用来判断正则表达式
网友评论