js数组中删除指定值

比如一个数组
let aa=['1','2',' ','3', ' '];
我想删除里面的 ' ' ,怎么删除啊,因为是后台,不能用jequery

阅读 10.2k
9 个回答
let bb = aa.filter(v => !/^\s+$/.test(v))
let aa=['1','2',' ','3', ' '];
let arr=aa.filter(v=>v!=' ');
console.log(arr);

你可以遍历数组,再用parseInt或者Number方法把数组中的每一个元素都转换成数字之后再push到新的数组中

循环一下就行了

let arr = [1,2,'',4,5,'','']
function removeItem(arr,item){
    let newArr = [];
    for(let value of arr){
        if(value !== item){
            newArr.push(value)
        }
    }
    return newArr;
}
removeItem(arr,'')
for (var i = 0; i <= aa.length; i++) {
    aa[i] === '' ? aa.splice(i, 1) : continue;
}

一种简陋的方法

let aa =  ['1','2','','3', '']
aa.map((item, index) => {
    if (item == '') {
        aa.splice(index, 1)
    }  
})

console.log(aa) // ['1', '2', '3']

这样可以么···
我记得循环一次 有bug啊

   let aa=['1','2',' ','3', ' ',' ',' ',' '];
    aa.forEach((item,index)=>{
        if (aa[index] === ' ' ){
          aa.splice(index,1)
            aa.forEach((item,index)=>{
                if (aa[index] === ' ' ){
                    aa.splice(index,1)

                }
            })
        }
    })
    
    
    
    
    //这个就厉害了
     let bb = aa.filter(v => !/^\s+$/.test(v))
    

用underscore.js或是lodash.js,里面有很多方便有用的api,很容易帮你处理这类状况

新建一个空数组,从原数组依次取数据,如果不是'',则把这个元素放到空数组中。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题