JavaScript怎样无限遍历数组

var arr = [12,23,34,[234,344,34],23,'你好',[123,34],12]这种的数据。
我只能够用 for in 遍历一维数组,之后我想到了IF判断,判断是不是数组,如果是就继续遍历,不是就停止遍历,于是乎就有了:Object.prototype.toString.call( arry ) === '[object Array]';,但不知道后面怎么玩下去了?

var arr = [12,23,34,[234,344,34],23,'你好',[123,34],12];
var result = [];

function isArray(obj) {  
  return Object.prototype.toString.call(obj) === '[object Array]';   
}

function test(source) {
    for(var i = 0,len = source.length; i < len; i++) {
      var item = source[i];
      if(isArray(item)) test(item);
      else {
         result.push(item);
      }
    }  
}
test(arr);
console.log(result);   //[12, 23, 34, 234, 344, 34, 23, "你好", 123, 34, 12]

思路就是用递归,但不清楚遍历后你想要具体进行什么操作,所以就把数组里的各项拆分并保存起来了。你可以在此基础上修改成想要的,剔除不是数组的元素或者中止遍历都可以。

温馨提示:答案为网友推荐,仅供参考