问题描述
function unqiue(arr){var result = [],hash = {};for(var i =0,ele;(ele = arr[i]) != "undefined";i+=1){if(!hash[ele]){result.push(ele);hash[ele] = true;}}return result;}var arr = [];arr[0] = 1;arr[2] = 5;alert(unqiue(arr));
解决方案
for的判断条件有问题。(ele = arr[i]) != "undefined" 这是永远为true,从而导致 死循环。注意:undefined 不等于 字符串 "undefined"正确的是:typeof (ele = arr[i]) != "undefined"
时间: 2024-08-30 04:16:21