个人整理笔记

74 阅读2分钟

过滤函数 filter函数可以筛选出来符合条件的item

filter,可以巧妙地去除Array的重复元素

var r, arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];

r = arr.filter(function (element, index, self) {

return self.indexOf(element) === index;

});

//element就是数组的每一项 index下标 self就是arr本身

// indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了,

//所以重复的元素仅会保留第一个位置的元素

return this.asyncMenu.filter((item) => !item.children);

//筛选出来没有children的item

return this.asyncMenu.filter((item) => item.children);

//筛选出来有children的item

findIndex()方法为数组中的每个元素都调用一次函数执行:

当数组中的元素在测试条件时返回true时,findIndex()返回符合条件的元素的索引位置

const result = state.tabList.findIndex(item => item.name === val.name)

if(result == -1){

state.tabList.push(val)

}else{

state.currentMenu = null

}

find()方法用于查找数组中符合条件的第一个元素,如果没有符合条件的元素,则返回undefined

求数组中第一个大于1的值

let arr = [1, 2, 3, 4, 5];

let num = arr.find(item => item > 1);

console.log(num) //2

splice() 方法可用于向数组(添加/删除)元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];

var fruits2 = fruits.splice(2, 0, "Lemon", "Kiwi");

console.log(fruits2); //结果:["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]

第一个参数(2)定义了应添加新元素的位置。

第二个参数(0)定义应删除多少元素。

其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。

slice() 方法用数组的某个片段切出新数组。

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];

var citrus = fruits.slice(1, 3);

console.log(citrus); //结果:["Orange", "Lemon"]

sort() 方法以字母顺序对数组进行排序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.sort(); // 对 fruits 中的元素进行排序

console.log(fruits); //结果:["Apple", "Banana", "Mango", "Orange"]

reverse() 方法反转数组中的元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.sort(); // 对 fruits 中的元素进行排序

fruits.reverse(); // 反转元素顺序

console.log(fruits); //结果:["Orange", "Mango", "Banana", "Apple"]

Math.max()返回一组数中的的最大值

var arr = [1, 2, 3];

var max = Math.max(...arr);

console.log(max); //返回 3

Object.assign()合并两个或多个object。

var obj1 = { a: 1, b: 2 };

var obj2 = { c: 3, d: 4 };

var obj3 = { e: 5, f: 6 };

var obj = Object.assign(obj1, obj2, obj3)

console.log(obj); //返回 { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }

map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

var arr = [3, 9];

var res = arr.map((x,i)=>({key: 'key'+i, value: x}));

console.log(res); //返回 [{key:"key0",value:3},{key:"key1",value:9}]