- 通过 filter 筛选的方法,验证一个数组,即便:只验证数组的一部分,返回值时。也是返回整个数组。
- for:(属于前测试循环语句,循环前初始化变量和定义循环后要执行的代码的能力) ```jsx const arr = [‘a’,’b’,’c’];
// 方法一:
for (let i = 0;i<arr.length;i++){
console.log(arr[i]);
}
// 方法二:for of
for(let item of arr){
console.log(item);
}
// 方法三: for in
for(let index in arr){
console.log(arr[index]);
}
// 方法四:forEach 前面需要加接收变量
arr.forEach(function(item,index){
…
});
- while:(也是前测试语句)
```jsx
while(测试){
循环体}
let i= 0;
while(i<3){
console.log(i);
i++;
}
- do while:(后测试语句,循环体执行后才会测试出口条件:先执行一次循环体在进行条件判断,如果有就继续循环。至少执行一次)
- 截取 slice: 可以使用负数(跟lastIndexOf 的下边不一样,这个是倒序。) ```jsx let arr = [1,2,3,5,6,4]; let result = arr.slice(2); console.log(result); //[3,5,6,4]
let arr = [1,2,3,5,6,4]; let result = arr.slice(2,4); console.log(result); //[3,5] //1,截取后会返回一个新的数组,原数组不变arr.slice(startindex,endindex);
- 连接方法 concat()
```jsx
let arr1 = [1,2,3];
let arr2 = ['a','b','c'];
let arr3 = arr1.concat(arr2);
console.log(arr3); //[1,2,3,'a','b','c']
// 重点:let arr3 = arr1.concat(4,5,6) 和 arr1.push(4,5,6) 都可以添加。
//前面的不会影响原数组(会将新的数组附加给新创建的arr3),arr1.push(4,5,6) 后面的会影响原数组
位置方法 indexOf( ) 和 lastlndexOf( )
let arr = ['a','b','c','d','c'];
console.log(arr.indexOf('c')); // 2
console.log(lastlndexOf('c')); // 4
//从数组头部或末尾开始查找指定元素,返回元素在数组中的索引值(索引值:查找数的下标)
//查找不到则会返回 -1,进行全等比较
查找方法 includes()
let arr = [1,2,3];
console.log(arr.includes('1')); //false
console.log(arr.includes(1)); //true
//includes( )接收一个参数:元素,返回布尔值,进行全等匹配
扁平化方法 flat()
let arr = [0,1,2,[3,4]];
console.log(arr.flat()); //[0,1,2,3,4]
//按照一个可指定深度递归遍历数组、并将所有元素与遍历到的字数组元素合并为一个新数组返回