1. Object.assign()
官方描述:如果目標對象中的屬性具有相同的鍵,則屬性將被源中的屬性覆蓋。後來的源的屬性將類似地覆蓋早先的屬性。
簡單來說,就是該方法有兩個或或以上個參數,且參數都爲json對象格式,後面的參數裏面的屬性值將覆蓋前面第一個參數的相同屬性的值,如果沒有則新建一個屬性值。且除了原先的對象會更改,還會新建一個對象,屬於淺拷貝。
舉例說明
var player = {score: 1, name: 'Jeff'};
var newPlayer = Object.assign({}, player, {score: 2});
// Now player is unchanged, but newPlayer is {score: 2, name: 'Jeff'}
若需要深拷貝則使用obj1=JSON.parse(JSON.stringify(obj))。
2. Array.forEach()
數組的遍歷,比較簡單,不解釋了,寫出來比for簡潔很多
arr.forEach(function (key,index) {
if (key.value == m) {
//執行代碼
}
})
3. Array.fll()
作用:使用固定值填充數組,嗯,用的比較少,但是不知道的話估計會寫的很僵硬
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Runoob");
// 輸出 Runoob,Runoob,Runoob,Runoob
4. obj.hasOwnProperty(prop)用於判斷obj中是否含有某個屬性,返回true/false,比用遍歷或者循環要方便很多。但幾乎沒見人用過。
o = new Object();
o.prop = 'exists';
function changeO() {
o.newprop = o.prop;
delete o.prop;
}
o.hasOwnProperty('prop'); // 返回 true
changeO();
o.hasOwnProperty('prop'); // 返回 false
5 value.toFixed(n)
保留n位小數,不解釋
6 數組的隨機排序
實現想法,對數組做一個遍歷。假設數組內有十個值,每次隨機生成一個十以內的數,然後用數組遍歷的第i項與隨機生成的第n項交換位置。
var arr = [1,2,3,4,5,6,7,8,9,10];
function randSort1(arr){
for(var i = 0,len = arr.length;i < len; i++ ){
var rand = parseInt(Math.random()*len);
var temp = arr[rand];
arr[rand] = arr[i];
arr[i] = temp;
}
return arr;
}
還有一個數組的方法也能實現 sort
arr.sort(function(){
return Math.random() - 0.5;
})