目录
...扩展运算符可以将数组或者对象转为用逗号分隔的参数序列。
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
定义:用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1。
- startsWith():表示参数字符串是否在原字符串的头部,返回布尔值
- endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
第一节:array的扩展方法、
将 类数组转为数组
let eledivs = document.getElementsByTagName('div');
eledivs = [...eledivs];//Array.prototype.slice.call(eledivs);
举例1:
Array.from('12345') // [1,2,3,4,5]
举例2:
let arr1 = {
1:'a',
2:'b',
'length':3
}
console.log(Array.from(arr1));//undefined ,a,b.
举例1:
let arr1 = [1,2,3,2];
let target = arr1.find( item => item==2);
console.log(target);//2,如果未找到,返回undefined
举例2:
let person = [
{name:"张三",age:16},
{name:"李四",age:17},
{name:"王五",age:18},
]
let target = person.find((item,index)=>{return item.name=='张三'});
console.log(target.name);
let ary = [1, 5, 10, 15];
let index = ary.findIndex((item, index) => item > 9);
console.log(index); // 2
let ary = [1, 5, 10, 15];
console.log(ary.includes(5));//true
- Array.from
-
- 1:字符串形式
- let str = "abcde";
- console.log(Array.from(str));
-
- 2:将对象形式数组 转为数组
- const Num = {
- 0:"0",
- 1:"a",
- 2:"b",
- length:3,
- }
- console.log(Array.from(Num));
-
- 3:将类数组转为数组
- const liNode = document.querySelectorAll("li");
- console.log(Array.from(liNode) instanceof Array);
-
-
- 二 array.find 查找符合条件的第一个值
- const persons = [5,11,19,20];
- const item = persons.find(item=>item>10)
- console.log(item);
-
- const persons = [
- {realname:"张三",age:15},
- {realname:"李四",age:19},
- {realname:"王五",age:20},
- {realname:"赵六",age:14},
- ]
- const Item = persons.find(item=>item.age>18);
- console.log(Item);//查找符合条件的值(当前的值,"李四对象")
-
- 三:array.findindex
- const persons = [5,11,19,20];
- const index = persons.findIndex(item=>item>10)
- console.log(index);//1
-
- const persons = [
- {realname:"张三",age:15},
- {realname:"李四",age:19},
- {realname:"王五",age:20},
- {realname:"赵六",age:14},
- ]
- const index = persons.findIndex(item=>item.age>18);
- console.log(index);//1
-
- 四:判断某个数组是否包含某个值
- const arr = [1,2,3,4];
- console.log(arr.includes(4));//true
模板字符串定义
console.log(`姓名:${Person.realname},年龄:${Person.age},${say()}`);
举例:
- let str = "hello,zs!";
- console.log(str.startsWith("h"));//true
- console.log(str.endsWith("!"));//true
- console.log(str.endsWith("..."))//false
- console.log(str.repeat(2));
console.log('hello'.repeat(2));//hellohello
Array对象常用方法
举例1:
let arr = [2,3,4,5,6];
let newarr = arr.map(v=>v+2)
console.log(arr );//2,3,4,5,6
console.log(newarr);//4,5,6,7,8
举例2:
let arr = [2,3,4,5,6];
function ckarr(v){
return v+2;
}
console.log(arr.map(ckarr));
-- map() 不会对空数组进行检测。
-- map() 不会改变原始数组。
let arr = [2,3,4,5,6];
function ckarr(v){
return v>3; //返回符合条件的值
}
console.log(arr.filter(ckarr));
-- filter() 不会对空数组进行检测。
-- filter() 不会改变原始数组。
-- 对于空数组是不会执行回调函数的。
var arr = [1, 2, 3, 4];
var sum = arr.reduce(function(total, currentValue, index, arr) {
return total + currentValue;
},10);
console.log(sum);
// let arr = Array.of(3,4,5,6);
// console.log(arr);
let arr =Array.of('张三','小帅','小红');
console.log(arr);
let a=1,b=2,c=3;
let arr =Array.of(a,b,c);
console.log(arr);
语法:array.fill(value, start, end)
Value:必需。填充的值。
Start:可选。开始填充位置。
End:可选。停止填充位置 (默认为 array.length)。
举例:
let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('x',2,5);
console.log(arr); //[0, 1, "x", "x", "x", 5, 6, 7, 8, 9]
for(let item of person){
console.log(item);
}
说明:item是当前遍历的值
for(let index in person){
console.log(index);
}
说明:index 是当前遍历的索引
方法用于调用数组的每个元素,并将元素传递给回调函数。
person.forEach(function(value,index){
console.log(value,index);
})
- 1:map遍历方法
- const arr = [1,2,3,4];
- //map会遍历数组 并对数组进行加工 返回新的数组(不会对空数组进行遍历)
- const newarr = arr.map(item => item*10);//放大10倍
- console.log(newarr);
-
-
-
- 2:filter 满足符合条件的所有元素
- const arr = [10,23,28,29];
- const newarr = arr.filter(item=>item>20);
- console.log(newarr);
-
- 3:reduce缩减("累加器")
-
- const arr = [1,2,3,4,5];
- //total 即是初始值又是返回值,current为当前值
- // 第二个参数指定初始值
- let sum = arr.reduce(
- (total,current)=>{
- console.log(`初始值:${total},当前值:${current}`);
- return total+current;
- }
- ,10)
-
- console.log(sum);
-
-
- 4:fill 填充数组
- const arr = [0,1,2,3,4,5,6];
- console.log(arr.fill("x",1,3));
-
- 5:of把一堆文本转为数组
- let a = 1;
- let b = 2;
- console.log(Array.of(a,b));