删除素组中的非“*”的项没明白!
var arr = ['*','##',"***","&&","****","##*"];
arr[7] = "**";
//数组长度
var l = arr.length;
//删除数组中非*的项
var i = 0;
for(; i < l; i++){
var val = arr[i];
if(val != undefined) {
var newarr = val.split('');
var newl = newarr.length;
for(var j = 0; j < newl; j++){
if(newarr[j] != '*'){
arr.splice(i, 1);
break;
}
}
}
}
这个里面 就arr.splice(i,1)这一块没明白,为什么到arr这个数组了,用arr.splice怎么删除掉了不“*”项的,我在break;上面用alert输出一下,好像没删除完不全是“*”的项?????求解,求解!!!!!!!
每一项输出的结果也不清楚,图片上有输出的结果;第二个红框里面出来的结果,是这样理解吗?val=arr[i]每一项的值,然后在对这个值进行分割成数组,然后赋给newarr,newarr数组=["['*']","['#','#']","['&','&']","['#','#','*']","['*','*']"];第三个红框怎么回事,不应该是newarr这个数组的值吗?怎么是一项一项的长度??????