就是下面这样一个类数组,我要怎样才能提取里面所有的数字呢?
var arr =[1,2,3,{},[5,6],{},"abc" ,true, [{}, {name:20}]]
就是下面这样一个类数组,我要怎样才能提取里面所有的数字呢?
var arr =[1,2,3,{},[5,6],{},"abc" ,true, [{}, {name:20}]]
<script>
var arr = [1, 2, 3, {}, [5, 6], {}, "abc", true, [{}, { name: 20 }]]
function type(obj) {
var o = {};
if (o.toString.call(obj) == '[object Object]') return 1;
if (o.toString.call(obj) == '[object Array]') return 2;
return 0;
}
var arrNum = [];
function getNumber(o) {
console.log(typeof o)
var typename = typeof (o);
if (typename == 'object') {
var t = type(o);
if (t) {
if (t == 1) for (var attr in o) getNumber(o[attr]);
else for (var v of o) getNumber(v);
}
}
else if (typename == 'number') arrNum.push(o);
}
getNumber(arr);
alert(arrNum.join('\n'))
</script>