目录

  • 一、数组方法
  • 1.join() 数组 => 字符串
  • 2.push() 数组末尾添加元素,并且返回长度
  • 3.pop() 删除数组的最后一个元素并返回删除的元素。
  • 4.shift() 删除数组的d第一个元素并返回删除的元素。
  • 5.unshift() 数组头部添加元素,并且返回长度
  • 6.sort() 数组排序
  • 7.reverse() 翻转整个数组并且改变原数组
  • 8.concat() 合并数组(不改变原数组并返回新的数组)
  • 9.slice() 截取数组(不改变原数组并返回新的数组)
  • 10.splice() 删除数组元素
  • 11.indexOf() lastIndexOf() 查找数组元素
  • 12.forEach()
  • 13.map() 返回一个新数组 为原始数组元素`调用函数处理`后的值
  • 14.filter() 返回一个新数组 为满足`过滤条件`的值
  • 15.every() 返回一个布尔值 所以项满足才为`true`,否则`false`
  • 16.some() 返回一个布尔值 有一项满足就为`true`,否则`false`
  • 17.includes() 返回一个布尔值 一个数组是否包含一个指定的值
  • 18.reduce() 迭代数组的所有项,构建一个`最终返回`的值
  • 19.flat() 和 flatMap() es6 新增



HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来描述网页的一种标记语言,而不是编程语言。

一、数组方法

1.join() 数组 => 字符串

对应字符串=>数组 split()

var arr = [1,2,3];
console.log(arr.join("-"));   // 1-2-3

2.push() 数组末尾添加元素,并且返回长度

3.pop() 删除数组的最后一个元素并返回删除的元素。

var arr = [1,2,3];
console.log(arr.pop());   // 3

4.shift() 删除数组的d第一个元素并返回删除的元素。

var arr = [1,2,3];
console.log(arr.shift());   // 1

5.unshift() 数组头部添加元素,并且返回长度

var arr = [1,2,3];
console.log(arr.shift());   // 1

6.sort() 数组排序

接收一个比较函数作为参数,函数接收两个值。比较函数返回值来决定数组的排序。返回-1参数1位于参数2前面;返回0不变;返回1参数1位于参数2后面。

var arr = [8798,77,6,2,3,1];
arr.sort(function(pre,next) {
// 正序  [1, 2, 3, 6, 77, 8798]
 return pre < next ? -1 : pre > next ? 1 : 0; 
 // 倒序 [8798, 77, 6, 3, 2, 1]
 return pre < next ? 1 : pre > next ? -1 : 0;
})

7.reverse() 翻转整个数组并且改变原数组

var arr = [8798,77,6,2,3,1];
arr.reverse() //  [1, 2, 3, 6, 77, 8798]

8.concat() 合并数组(不改变原数组并返回新的数组)

var arr = [8798, 77, 6, 2, 3, 1];
var newarr = arr.concat([
    1, 9
])
// [8798, 77, 6, 2, 3, 1, 1, 9]

9.slice() 截取数组(不改变原数组并返回新的数组)

var arr = [8798,77,6,2,3,1];
arr.slice(从哪里开始,到哪里结束)  不包括结束项
arr.slice(0,2)
负数则从数组末尾开始 -1是最后一项
//  [8798, 77]

10.splice() 删除数组元素

var arr = [8798,77,6,2,3,1];
arr.splice(从哪里开始,删除几项,是否插入其他元素)
arr.splice(0,2)
负数则从数组末尾开始 -1是最后一项
//  [8798, 77]

11.indexOf() lastIndexOf() 查找数组元素

var arr = [8798,77,6,2,3,1,77];
arr.indexOf(77)//  1 头部开始查找
arr.lastIndexOf(77)//  6 末尾开始查找

// 没找到则返回-1

12.forEach()

var arr = [8798,77,6,2,3,1,77];
arr.forEach(function(item,i) {

})

13.map() 返回一个新数组 为原始数组元素调用函数处理后的值

var arr = [8798,77,6,2,3,1,77];
var arr_new = arr.map(function(item) {
	return item * 2
})

// arr_new => [17596, 154, 12, 4, 6, 2, 154]

14.filter() 返回一个新数组 为满足过滤条件的值

var arr = [8798,77,6,2,3,1,77];
var arr_new = arr.filter(function(item) {
	return item % 3 == 0
})

// arr_new => [6, 3]

15.every() 返回一个布尔值 所以项满足才为true,否则false

16.some() 返回一个布尔值 有一项满足就为true,否则false

17.includes() 返回一个布尔值 一个数组是否包含一个指定的值

18.reduce() 迭代数组的所有项,构建一个最终返回的值

reduce接收两个参数,函数参数,第二个参数有的话则以第二个参数开始计算

var arr = [1, 2, 3, 4];
var arr_new = arr.reduce((pre, cur) => {

    return pre + cur;
}, 90);
// 90 作为第二个参数
console.log(arr_new, 'total')

// total => 100

19.flat() 和 flatMap() es6 新增

深度递归