js去掉數(shù)組中undefined及空字符串、null兩種方法例子
方法一、filter函數(shù)
var arr = [原數(shù)組] var newArr = arr.filter(item => item && item.trim()) console.log(newArr)
例子:
可以使用JavaScript的filter()函數(shù)
來過濾掉數(shù)組中的undefined元素。
const arr = [1, undefined, 'hello', null, true]; const filteredArr = arr.filter(item => item !== undefined); console.log(filteredArr); // [1, "hello", null, true]
方法二、遍歷
let arr=[原數(shù)組] let newArr= [] // 方法1 arr.forEach(item => { if (item) { newArr.push(item) } }) // 方法2 for (let item of arr) { if (item) { newArr.push(item) } } console.log(newArr)
附:undefined與null之間的區(qū)別
1、null和undefined的類型不同
console.log(typeof(undefined)); //undefined console.log(typeof(null)); //object
null是一個具有有效不存在值的對象,并且它是不可變的,而undefined的對象類型是本身未定義的
此外任何具有null值的算術(shù)運算都將產(chǎn)生整數(shù)值,而任何帶有undefined的算術(shù)運算都會導(dǎo)致變量值變?yōu)镹aN
2、轉(zhuǎn)換為原始類型的方式不同
null和undefined之間的主要區(qū)別在于它們被轉(zhuǎn)換為原始類型的方式。在null上執(zhí)行算術(shù)轉(zhuǎn)換時,確定的值為0可以使用以下代碼片段驗證此轉(zhuǎn)換。
var v1= 5+ null; console.log(v1)
輸出結(jié)果為5
但是undefined不執(zhí)行任何此類轉(zhuǎn)換,如果將undefined添加到數(shù)字中得出的結(jié)果將為NaN
var v2= 5+ undefined; console.log(v2)
輸出的結(jié)果為NaN
總結(jié)
到此這篇關(guān)于js去掉數(shù)組中undefined及空字符串、null兩種方法的文章就介紹到這了,更多相關(guān)js去掉數(shù)組undefined及空字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS 組件系列之BootstrapTable的treegrid功能
這篇文章主要介紹了JS 組件系列之BootstrapTable的treegrid功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-06-06JavaScript中防抖和節(jié)流的實戰(zhàn)應(yīng)用記錄
防抖與節(jié)流都是用來限制用戶頻發(fā)觸發(fā)事件的機制,下面這篇文章主要給大家介紹了關(guān)于JavaScript中防抖和節(jié)流的實戰(zhàn)應(yīng)用,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-04-04