目录
1.声明数组
1.1new Array()
使用new Array()可以指定我们希望存在于数组中的元素
1.2数组字面量表示法
字面量表示法,我们将指定数组具有的值,不声明任何值数组将为空
代码如下:
// 声明数组
// 使用新数组
const arr = new Array('a','b')
console.log('arr.length',arr.length);
console.log('arr',arr);
// 数组字面量表示法
const arr2 = ['a','b','c']
const arr3 = []
console.log('arr2.length',arr2.length);
console.log('arr2',arr2);
console.log('arr3.length',arr3.length);
console.log('arr3',arr3);
控制台打印如下:
2.JavaScript数组方法
2.1forEach()
为数组中的每个元素执行一次提供的函数
代码如下:
//forEach
const arr4 = ['1', '2', '3']
arr4.forEach(item => console.log(item))
控制台打印如下:
2.2map()
遍历数组并使用回调函数修改元素,然后将数组的每个元素执行回调函数
代码如下:
// map
const arr5 = [1, 2, 3, 4]
const arr6 = arr5.map(function (item) {
return item * 3
})
console.log('arr5', arr5);
console.log('arr6', arr6);
控制台打印如下:
2.3concat()
这是一个字符串方法,用于将字符串连接到一起
代码如下:
// concat
const arr7 = ['a','b','c']
const arr8 = ['d','e','f']
const arr9 = arr7.concat(arr8)
console.log('arr9',arr9);
控制台打印如下:
2.4push()
将给定元素附加到数组最后一个并返回数组的长度
代码如下:
// push
const arr10 = ['name','age','money']
arr10.push('phone')
console.log('arr10',arr10);
控制台打印如下:
2.5pop()
从数组中删除最后一个元素将该值返回给调用者,空数组调用该方法返回undefined·
代码如下:
// pop
const arr11 = ['name','age','money','sex']
console.log('arr11.pop()',arr11.pop());
console.log('arr11',arr11);
控制台打印如下:
2.6splice()
用于在数组指定位置删除、替换、添加元素来更改数组
代码如下:
// splice
const arr12 = ['name','age','money']
arr12.splice(2,0,'sex','num')
console.log('arr12',arr12);
控制台打印如下:
关于splice()的详细介绍请参考 JavaScript学习--splice()函数详解_献_的博客-CSDN博客_splice()函数
2.7slice()
用于将数组的一部分从开始到结束(不包含结束部分)返回到新数组对象中,原数组不会被修改,其中开始结束表示数组的索引
代码如下:
// slice
const arr13 = ['name','age','money','sex','num']
const arr14 = arr13.slice(2,4)
console.log('arr13',arr13);
console.log('arr14',arr14);
控制台打印如下:
2.8shift()
删除数组中的第一个元素
代码如下:
//shift
const arr15 = ['name','age','money','sex','num']
const arr16 = arr15.shift()
console.log('arr15',arr15);
console.log('arr16',arr16);
控制台打印如下:
2.9unshift()
将定值插入到类数组对象的开头
代码如下:
// unshift
const arr17 = ['name','age','money']
arr17.unshift('sex','num')
console.log('arr17',arr17);
控制台打印如下:
2.10join()
连接数组所有元素返回新的字符串,指定分隔符用来分割数组元素,默认为(,)
代码如下:
// join
const arr18 = ['name','age','money']
console.log(arr18.join());
console.log(arr18.join('-'));
控制台打印如下:
2.11every()
测试数组中的所有元素是否通过提供的函数实现的测试,返回一个布尔值
代码如下:
// everg
const arr19 = [5,4,8,7,2]
const set = (item) => item >5;
console.log(arr.every(set));
控制台打印如下:
2.12过滤器filter()
过滤给定数组中通过给定函数实现的元素
代码如下:
// filter
const arr20 = ['abcd','abc','abcde','a']
const res = arr20.filter(arr20=>arr20.length>3)
console.log('res',res);
控制台打印如下:
2.13indexOf
在数组中找到给定元素的第一个索引,不存在返回-1
代码如下:
// indexOf
const arr21 = ['abcd','a','abc','abcde','a']
console.log(arr21.indexOf('a'));
console.log(arr21.indexOf('b'));
控制台打印如下:
2.14减少reduce()
按顺序对数组的每个元素执行用户提供的“reducer”回调函数,传入前一个元素的计算返回值,在数组的所有元素运行reducer最终结果是单个值
代码如下:
// reduce
const arr22 = [1, 2, 3, 4]
const num = 0
const fn = arr22.reduce((num1, num2) => num1 + num2, num)
console.log(fn);
控制台打印如下:
2.15反向reverse()
简单来说就是改变数组元素的顺序,从顺序变为倒序
代码如下:
// reverse
const arr23 = [6,7,8,9]
console.log('arr23',arr23);
console.log('arr23.reverse',arr23.reverse());
控制台打印如下:
2.16排序sort()
将数组元素进行就地排序返回排序后的数组,默认升序排序,将元素转换为字符串,然后比较它们的UTF-16代码单元值序列
代码如下:
//sort
const arr24 = ['name', 'age', 'money']
console.log(arr24.sort());
const arr25 = [1, 5, 3, 4,100]
console.log(arr25.sort());
控制台打印如下:
2.17toString()
返回一个表示对象的字符串
代码如下:
// toString
const arr26 = [1,2,3]
console.log(arr26.toString());
控制台打印如下:
2.18at()
接收一个整数值并返回该索引处的值,支持正数和负数,负数从数组最后一项开始倒数
代码如下:
// at
const arr27 = [10,11,15,16,50]
console.log(arr27.at(0));
console.log(arr27.at(-2));
控制台打印如下:
2.19查找find()
返回数组中满足条件的第一个元素,没有满足则返回undefined
代码如下:
// find
const arr28 = [6, 5, 4, 8, 2]
const find = arr28.find(item => item > 4)
const find2 = arr28.find(item => item = 0)
console.log(find);
console.log(find2);
控制台打印如下:
2.20some()
数组中至少一个元素满足了提供的函数实现,如果数组中找到满足提供函数的元素返回true,否则返回false
代码如下:
// some
const arr29 = [1, 2, 3]
const cost = (item => item % 2 === 0)
const arr30 = [5,7,9]
console.log(arr29.some(cost));
console.log(arr30.some(cost));
控制台打印如下: