做汽配找哪個網(wǎng)站好軟件排名工具
數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。
在實際項目中碰到的數(shù)組去重,一般都是后臺去處理,很少讓前端處理數(shù)組去重。雖然運用到的概率較低,但還是需要了解一下,以防面試的時候被問到。?
?在項目中定義對象數(shù)組是非常常見的,這就免不了要對對象數(shù)組進行去重。當然不能簡單的使用===來解決問題,因為這時候數(shù)組中的類型為對象類型,即使完全相同的兩個對象也不相等的。下面的例子說明一切:
1.數(shù)字數(shù)組去重?
var arr = [11,11,22,33]
function unique(arr) {return arr.filter(function (ele, index, array) {return array.indexOf(ele) === index})
}
unique(arr);
2.對象數(shù)組去重?
var objArr = [{name:1,num:1},{name:1,num:1},{name:2,num:2}];
const removeDuplicateObj = (arr) => {let obj = {};arr = arr.reduce((newArr, next) => {obj[next.id] ? "" : (obj[next.id] = true && newArr.push(next));return newArr;}, []);return arr;
};
removeDuplicateObj(objArr);
3. 將字符串轉(zhuǎn)成數(shù)組?
Array.from("將字符串轉(zhuǎn)成數(shù)組");//["將", "字", "符", "串", "轉(zhuǎn)", "成", "數(shù)", "組"]
4.找到數(shù)組的最大和最小值,僅適用于單數(shù)字數(shù)組?
let min = arr.sort((a, b) => a - b)[0];
let max = arr.sort((a, b) => b - a)[0];
5.將一個數(shù)組中的每個undefined,‘’,0,false,null的元素過濾掉?
let list = [1, "", undefined, 11341];
arr.filter(Boolean); //[1,11341]
?
?
?
?
?
?
?
?
?