字符串及数组新增方法
字符串新增方法
str.startsWith:
判断是否已指定字符串开头的
参数1 : 指定字符串
参数2 : 指定的开始位置 (从1开始)
let str = "好好学习,每天进步一点点";
console.log(str.startsWith("好好"));
console.log(str.endsWith("学习",3));
repeat()
将字符串重复指定的次数 (次数不限)
let str2 = "a";
console.log(str2.repeat(3));
模板字符串 ``
插值运算符 ${ } 可以写表达式 可以写函数
let p = document.querySelector("p");
let name = ()=>{
let n = "花花";
return n;
};
let age = "18";
let school = "高中";
// p.textContent = `我叫${name},今年${age}岁,就要上${school}了`;
//需要判断的时候, 用三目运算符
p.textContent =
`我叫${name()},今年${age>13?"保密":age}岁,就要上${school}了`;
数组新增方法
新增的方法
以下介绍的方法为构造函数的方法
不是数组对象的方法,注意调用格式 数组名.方法名( )
把类数组转化成数组,我们常用的两种方式:
- Array.from( )
类数组: 有下标,有length, 但是无法使用数组的方法
参数1: 需要转化的类数组
参数2; 处理的方式(可选的)
参数3: 函数执行时this的指向(可选)
let lis = document.querySelectorAll("li");
// console.log(lis);
lis = Array.from(lis,(item,index)=>{
item.textContent = "列表";
console.log(index);
});
- 展开运算符
lis = [...lis];
- Array.map( )
接收的得是数组才可以
返回一个新数组,新数组中的元素,是原数组中按照指定需求处理过的数据
lis.map((item)=>item);
- Array.of( )
将参数组成一个 新的 数组
let arr = [1,2,3,4,5];
arr = Array.of("a","b"); // 新数组会覆盖原有数据(原因是用arr接收了返回数组)
console.log(arr);
- Array.isArray( )
检测 数据是否是个数组
console.log(Array.isArray(lis));
- Array.find( ) 返回第一个满足条件的值
let arr_two = [1,2,3,4,5];
let val = arr_two.find(item=>item>3);
console.log(val);
- Array.findIndex() 返回第一个满足条件的值 的索引(下标)
let arr_two = [1,2,3,4,5];
let val = arr_two.findIndex(3);
console.log(val);
- Array.fill( )
向指定数组填充指定的数据,覆盖原有数据。 覆盖的范围可以控制,默认是全部
let arr_three = ["a","b","c","d","e","f","g","z"];
arr_three = arr_three.fill("v",1,4); // 位置: 包头 不包尾
console.log(arr_three);
- Array.includes( )
参数1:指定的值
参数2:指定位置(从指定的位置之后,开始查找)
let arr_three = ["a","b","c","d","e","f","g","z"];
console.log(arr_three.includes("v",3));
数组扁平化
数组扁平化不是一个具体的方法,而是通过具体的方法来达成的效果
即实现数组扁平化
- flat( ) 将多层数据,处理成一层
参数: 处理层数
未知层数的情况下: infinity–无限
let arr = [
["小萌",18],
["小萌",18],
["小萌",18],
["小萌",18],
["小萌",18,["小萌",17,["小萌",18]]]
];
- flatMap( ) 处理扁平化数组
因为它只能处理一层数组
所以arr = arr.flat(Infinity);
使用flat( )处理为一层后,再使用filter( )过滤,会无法找到
let newArr = arr.flatMap((item,index)=>{
console.log(item,index);
item = item.filter((item,index)=>{
return index == 0;
});
return item;
});
console.log(newArr);