1、 filter()過濾數(shù)組
//過濾大于 1 的所有元素
let arr = [1,2,3,4,5,6];
let result = arr.filter((val) => {
if(val > 1){
return val;
}
});
console.info(result) //得到[2,3,4,5,6]
filter不會(huì)改變?cè)紨?shù)組瞒御,會(huì)返回新的數(shù)組
2拱燃、 filter()遍歷數(shù)組
let arr = [1,2,3,4,5,6];
let result = arr.filter((item,i,arr) => {
//console.info(item) // 得到數(shù)組的每一個(gè)元素123456
//console.info(i) // 得到數(shù)組的索引
console.info(arr) // 得到數(shù)組本身
});
3腾仅、find()查找元素
let arr = [1,2,3,4,5,6];
let result = arr.find((val) => {
if(val > 1){
return val;
}
});
console.info(result) //2
find()方法只返回第一個(gè)符合條件的元素临谱,后面的不會(huì)執(zhí)行璃俗,如果數(shù)組為空,則返回undefined
4悉默、findIndex() 查找索引
let arr = [1,2,3,4,5,6];
let result = arr.findIndex((val) => {
if(val > 2){
return val;
}
});
console.info(result) //2
findIndex()方法返回第一個(gè)符合條件元素的位置城豁,如果沒找到則返回 -1
5、Object.keys() 判斷對(duì)象是否為空對(duì)象
let obj = {};
if(Object.keys(obj).length === 0){
alert(1)
}
6抄课、Object.values()
方法返回的數(shù)組元素的值和單獨(dú)訪問對(duì)象屬性的值是一樣的唱星。數(shù)組元素的值在數(shù)組的順序,和使用 for-in 循環(huán)遍歷的結(jié)果一樣
var obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]
7跟磨、Object.Object.assign() 合并三個(gè)對(duì)象间聊,或者多個(gè)
注意:如果對(duì)象中屬性名有相同的會(huì)被覆蓋
- 不會(huì)改變?cè)紝?duì)象值
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign({},o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }
2.會(huì)改變?cè)贾?/p>
var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };
var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }
注意:不改變?cè)贾担枰?Object.assign({},o1, o2, o3); 參數(shù)前面加一個(gè)空對(duì)象 {}抵拘,如果不加哎榴,則會(huì)改變?cè)紝?duì)象。