1.数组的基本方法
基本方法 | 解释 |
---|---|
push | 末尾添加 |
pop | 删除末尾元素 |
shift | 在开头删除元素 |
unshift | 在开头添加元素 |
sort | 排序 |
concat | 合并数组 |
reverse | 倒序 |
splice | 删除/添加/替换数组的某一部分 |
join | 把数组转化为字符串 |
2.数组的复杂方法
复杂方法 (接受一个函数作为参数) | 解释 |
---|---|
forEach | 循环数组 |
map | 映射 |
filter | 过滤 |
some | 只要有一项符合要求就返回true |
every | 每一项都符合返回true |
find | 查找符合条件的元素返回的是元素本身 找不到返回undefined |
findIndex | 查找符合条件元素的下标,找不到返回-1 |
3.ES6新增数组
fill 填充替换数组
{
let arr=[1,2,3,4];
console.log( arr.fill(0,1,2))
}
Array.from() 把类数组转化为数组
let arr = Array.from({
0: '1',
1: '2',
2: 3,
length: 3
});
console.log(); // ['1', '2', 3]
Array.of 定义数组
let arr=Array.of(1,2,3,"a","b");
console.log(arr);
flat 把多维数组转化为一对数组
// An highlighted block
var foo = 'bar';
copyWithIn 拿数组的某一部分替换数组的另一部分
console.log([1, 2, 3, 4].copyWithin(0,2,4)); // [3, 4, 3, 4]
includes 判断数组里是否有某一项 返回布尔值
includes与indexOf的用法一样,只是返回值不一样
keys 拿到数组的所有键值
for(let key of ['a', 'b'].keys()){
console.log(key);
}
// 0
// 1
// 数组含空位
console.log([...[,'a'].keys()]); // [0, 1]
values 拿到数组的所有value值
values key两个方法只能在循环里用
et arr=[3,4,5];
console.log(arr.values().next())
4.字符串的方法
字符串的方法 | 解释 |
---|---|
toLowerCase | 转化为小写 |
toUpperCase | 转化为大写 |
split | 分割为数组 |
repeat | 重复字符串 |
search | 查找字符 |
substring/substr | 截取字符串 |
toString/string | 转化为字符串 |
replace | 替换字符 |
indexOf | 查找下标 |
lastIndexOf | 从最后一位开始查找下标 |
chartAt | 查找某一位上的值 |
concat | 合并字符串 |
5.ES6新增的字符串
includes 判断是否含有某个字符
let str="hello";
console.log(str.includes("h"));
padStart 补全开头
console.log("h".padStart(5,"o")); // "ooooh"
padEnd 补全结尾
console.log("h".padEnd(5,"o")); // "hoooo"
startswith 是否以谁为开头
let string = "apple,banana,orange";
string.startsWith("apple"); // true
或
string.startsWith("banana",6) // true
endswith 是否以谁为结尾
let string = "apple,banana,orange";
string.endsWith("apple"); // false
includes(),startsWith()与endsWith()都可以接受两个参数,需要搜索的字符串,和可选的搜索起始位置索引
6.ES6新增循环 for-of
在for-of循环里可以使用break和container,for-of也可以循环json
var arr=[1,2,3,4];
for (let item of arr) {
console.log(item);
}
7.set与map
set是一种新的数据类型(结构)是一个类数组,成员都是唯一的。
set去重
let set1=new Set(arr);
console.log(set1);
let res=Array.from(set1);//array.from把类数组变成数组
let res=[...set1]//扩展运算符可以把类数组变成数组
console.log(res);
set结构实例化的方法
{
let arr=[12,34,12,34,56];
let set1=new Set(arr);
console.log(set1.add("aaa"));//往set里添加值
console.log(set1)
set1.delete(12);//删除set的某个值
console.log(set1);
console.log( set1.has("aaa")) //判断是否含有某个值
// set1.clear();//清空所有的值
// console.log(set1)
set1.forEach((item)=>{
console.log(item);
})
// set1在forEach的时候不能拿到下标
}
map结构是一种类似于json的结构
map与json的区别
map | json |
---|---|
key值可以是任何类型 | key值只能是字符串 |
let fun1=()=>{
console.log(111)
}
let map1=new Map()
map1.set(2,"aa");
map1.set(fun1,"bb")
console.log(map1.get(fun1));
// 只能通过set方法和get方法设置值和获取值
console.log(map1.has(3));//判断是否含有某个key值
// map1.delete(fun1);
// console.log(map1)
// map1.clear()//清除所有的
map1.forEach((item,key)=>{
// console.log(item,key)
})
// foreach可以循环map结构 item是value值 key是键值
// for(var item of map1.keys()){
// console.log(item)
// }
// keys()方法能拿到所有键值然后进行循环使用