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"]
本文来自博客园,作者:极学者,转载请注明原文链接:https://www.cnblogs.com/jixuezhe/articles/15540185.html

浙公网安备 33010602011771号