一,数组常见方法:
1. Array.map():
遍历数组!返回值是处理之后的新数组(注意区分和forEach的区别(原数组没有改变))
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] 返回新数组
2.Array.forEach():
遍历数组!回调函数有三个参数:第一个是数组每个元素,第二个是每个元素的索引号,第三个是数组本身(基本用不到这个参数),没有返回值,直接改变原数组
let arr = [1, 2, 3, 4, 5]
num.forEach(x => x*2)
// arr = [2, 4, 6, 8, 10] 数组改变,注意和map区分
3.Array.filter():
筛选数组(遍历) !将所有元素进行判断,将满足条件的元素作为一个新的数组返回。简单来说就是数组里面符合某条件的话丢到新数组里面
let arr = [1, 2, 3, 4, 5]
const isBigEnough => value => value >= 3
let newArr = arr.filter(isBigEnough )
//newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组
4.Array.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
5.Array.some():
判断数组(遍历)!将所有元素进行判断返回一个布尔值,只要有一个符合,那么就返回true。否则返回false(注意与every()区分)
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
6.Array.push():
在数组的末尾添加一个或多个元素! 返回值是数组的长度数字(原数组已发生改变)
let arr=[1,2,3,4,5]
var longth=arr.push(6,7);
console.log(arr, longth);
值:arr[1,2,3,4,5,6,7]
7.Array.unshift():
在数组的开头添加一个或多个元素! 返回值是数组的长度数字(原数组已发生改变)
let arr = [1, 2, 3, 4, 5]
arr.unshift(6, 7)
console.log(arr) //[6, 7, 2, 3, 4, 5]
console.log(arr.length) //7
8.Array.pop():
删除数组中最后一个元素!返回值是被删除后的元素(原数组已发生改变)
let arr=[1,2,3,4,5]
var delElement=arr.pop();
console.log(arr, delElement);
arr的值为[1,2,3,4] ,delElement的值为5
9.Array.shift():
删除数组中第一个元素!返回值是被删除后的元素(原数组已发生改变)
let arr = [1, 2, 3, 4, 5]
arr.shift()
console.log(arr) //[2, 3, 4, 5]
console.log(arr.length) //4
10.Array.findIndex():
找出数组中满足某条件第一个元素的索引号! 返回值是数字(索引号),如果没有符合条件的元素返回 -1, (注意和find(),indexOf()的区分 )
let arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var ret1 = arr1.find((value, index, arr) => {
return value > 4
})
var ret2 = arr1.find((value, index, arr) => {
return value > 14
})
console.log( ret1) // 5
console.log( ret2) //undefined
11.Array.find():
找出数组中满足某条件第一个元素的值! 返回值是满足条件的元素,如果没有符合条件的元素返回 undefined
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var ret3 = arr1.findIndex((value, index, arr) => {
return value > 4
})
var ret4 = arr1.findIndex((value, index, arr) => {
return value > 14
})
console.log(ret3) // 4
console.log(ret4) // -1
12.Array.indexOf():
返回某个指定的字符串值在字符串中首次出现的位置! 如果没有符合条件的元素返回, 则返回 -1
let a = ['a','s','d','f']
a.findIndex(function(d){
return d === 'd'; // 测试条件为true时返回当前位置
})
13.Array.sort()
将数组进行排序(升序) ! 返回新数组,原数组也会改变
let arr=[2,3,5,1,4];
let newArr=arr.sort();
console.log(newArr,arr);//newArr=[1,2,3,4,5]; arr r=[1,2,3,4,5]
14.Array.reverse()
可以将数组进行倒序!并返回新数组,原数组也会改变
let arr=[1,2,3,4,5];
let newArr=arr. reverse();
console.log(newArr,arr);//newArr=[5,4,3,2,1]; arr=[5,4,3,2,1];
15.Array.splice(开始位置, 删除的个数,添加的元素):
增删改都可以!会改变原始数组。
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) //[1, 2, 'haha', 3, 4, 5]新增一个元素
console.log(arr2) //[1, 2] 删除三个元素
console.log(arr3) //[1, 2, 'haha', 4, 5] 替换一个元素
16.Array.reduce():
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组
四个参数值:
1.Accumulator (acc) (累计器)
2.Current Value (cur) (当前值)
3.Current Index (idx) (当前索引)
4.Source Array (src) (源数组)
let array1 = [1, 2, 3, 4];
const reducer = (previousValue, currentValue) => previousValue + currentValue;
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10
// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15
二,字符串常见方法:
1.Array.join():
将数组转化为字符串! 括号可以跟分隔符,返回值是字符串(原数组没有改变)
let arr = [1, 2, 3, 4, 5];
let str1 = arr.toString()
let str2 = arr.toString(',')
let str3 = arr.toString('##')
console.log(str1)// 12345
console.log(str2)// 1,2,3,4,5
console.log(str3)// 1##2##3##4##5
2.Array.toString():
将数组转化为字符串! 返回值是新的字符串
let arr = [1, 2, 3, 4, 5];
let str = arr.toString()
console.log(str)// 1,2,3,4,5
3.Array.split ():
将字符串转换为数组!用分隔符隔开 ,返回值是一个数组
var str="How are you doing today?";
var n=str.split(" ");
console.log(n); // How,are,you,doing,today?