js常用的方法记录

toString
concat
join
pop
push
reverse
shift
slice
sort
splice
unshift
indexOf
lastIndexOf
every
    验证数组元素 全部符合才返回true
    
some
    验证数组元素 有符合的就返回true

forEach
    对里面判断的处理 不太适合用此遍历
    
map

filter
    过滤 返回符合的数组
    
reduce
    计算数组元素相加后的总和:
    
reduceRight
    计算数组元素相加后的总和:
    区别 reduce() 是 从右到左累加

sort

数组排序

排序顺序可以是字母或数字,并按升序或降序
默认排序顺序为按字母升序。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
// ["Apple","Banana","Mango","Orange"]

注意:当数字是按字母顺序排列时"40"将排在"5"前面。
注意: 这种方法会改变原始数组

var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b}); // 降序就 b - a
// [1,5,10,25,40,100]

map

此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组

let arr = [1, 2, 3, 4, 5]
let newArr = arr.map(x => x*2)
//arr= [1, 2, 3, 4, 5]   原数组保持不变
//newArr = [2, 4, 6, 8, 10] 返回新数组

forEach

此方法是将数组中的每个元素执行传进提供的函数,没有返回值,注意和map方法区分

let arr = [1, 2, 3, 4, 5]
arr.forEach(x => x*2) 没有返回值
// arr = [1, 2, 3, 4, 5]  数组改变,注意和map区分

filter

此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回

let arr = [1, 2, 3, 4, 5]
let newArr = arr.filter(value => value >= 3)
//newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组

every

此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false

let arr = [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 = value => value < 6
arr.every(isLessThan4 ) //false
arr.every(isLessThan6 ) //true

some

此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false:

let arr= [1, 2, 3, 4, 5]
const isLessThan4 = value => value < 4
const isLessThan6 = value => value > 6
arr.some(isLessThan4 ) //true
arr.some(isLessThan6 ) //false

reduce

计算总和
此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型:

array.reduce(callbackfn,[initialValue])

callbackfn函数 这个函数包含四个参数

function callbackfn(preValue,curValue,index,array){} 

preValue: 上一次调用回调返回的值,或者是提供的初始值(initialValue)
curValue: 数组中当前被处理的数组项
index: 当前数组项在数组中的索引值
array: 调用 reduce()方法的数组
var arr = [0,1,2,3,4]; 
let totalAount = arr.reduce((preValue,curValue,index,array) => { return preValue + curValue; }); // 10 

let totalAount = arr.reduce((preValue,curValue,index,array) => { return preValue + curValue; }, 5); // 15

let arr = [1, 2, 3, 4, 5]
const add = (a, b) => a + b
let sum = arr.reduce(add)
//sum = 15  相当于累加的效果
与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的

splice

会改变原始数组

(index, howmany,item)
index	            必需。整数,指定在什么位置添加/删除项目,使用负值指定从数组末尾开始的位置。
howmany	            可选。要删除的项目数。如果设置为 0,则不会删除任何项目。
item, ..., itemX	可选。要添加到数组中的新项目。

万能方法,可以实现增删改:

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

let arr1 = arr.splice(2, 0 'haha') // 新增一个元素
let arr2 = arr.splice(2, 3) // 删除三个元素
let arr1 = arr.splice(2, 1 'haha') // 替换一个元素

console.log(arr1) // []
console.log(arr2) // ["haha",3,4] 
console.log(arr3) // [5]

slice

array.slice(start, end)
start 从 0 开始
end 是从 第一个元素 开始 计算 但是下标是 1 开始
从数组中读取元素

该方法 不会改变原始数组

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
// ["Orange", "Lemon"]
posted @ 2021-11-11 15:29  极学者  阅读(52)  评论(0)    收藏  举报