4 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以嘗試使用Array.prototype.filter()
刪除空值并Set
獲取唯一值。最后使用 來Spread syntax (...)
將集合結(jié)果轉(zhuǎn)換為數(shù)組。
嘗試以下方法:
var arrData = ["40-25",null,null,"40-25","50-48",null,"30-25","40-23","50-48","30-25",null,"50-48","40-45","40-45","40-45","40-50","40-50",null,null,null,null,null,"50-48"];
var arrDataSorted = [...new Set(arrData.filter(i => i))];
console.log(arrDataSorted);

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以從數(shù)組創(chuàng)建一個(gè)集合,該集合將自動(dòng)刪除重復(fù)項(xiàng):
let arrData = ["40-25",null,null,"40-25","50-48",null,"30-25","40-23","50-48","30-25",null,"50-48","40-45","40-45","40-45","40-50","40-50",null,null,null,null,null,"50-48"];
let set = new Set(arrData);
這仍然會(huì)保留 null,您可以通過調(diào)用將其刪除delete,并使用擴(kuò)展運(yùn)算符將其轉(zhuǎn)換回?cái)?shù)組...。最終代碼將是:
let set = new Set(arrData);
set.delete(null);
let distinctArr = [...set];

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
將此函數(shù)添加到您的代碼中:
function removeCommonValues(arr) {
let result = [];
for(let i=0; i < arr.length-1; ++i) {
if(result.includes(arr[i]) === false && arr[i] !== null)
result.push(arr[i])
}
return result
}
用法:
removeCommonValues(["40-25",null,null,"40-25","50-48",null,"30-25","40-23","50-48","30-25",null,"50-48","40-45","40-45","40-45","40-50","40-50",null,null,null,null,null,"50-48"]) // Return ["40-25", "50-48", "30-25", "40-23", "40-45", "40-50"]

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
該函數(shù)可以位于單獨(dú)的文件中,以便在多個(gè)頁面之間重用。然后您可以調(diào)用該函數(shù)來過濾不為空的不同值。
var arrData = ["40-25",null,null,"40-25","50-48",null,"30-25","40-23","50-48","30-25",null,"50-48","40-45","40-45","40-45","40-50","40-50",null,null,null,null,null,"50-48"];
function fn(value,index,self){
return self.indexOf(value) === index && value;
}
console.log(arrData.filter(fn));
添加回答
舉報(bào)