标签:区别 str nts 数组名 object amp 复制 方法 let
字符串:主要新增了模板字符串
数组新增方法:
Array.from:将类数组或迭代对象转换成数组
类数组和数组的相同点:
可以通过下标来访问,并且可以通过.length来获取类数组的元素个数
类数组和数组的区别: 类数组不能使用数组的各种api方法,数组没有问题
如何将一个类数组转换成数组?
第一种方法:通过ES6的Array.from(类数组)来转换
第二种方法:通过Array.prototype.slice.call(类数组);
第三种方法: ...来转换类数组
例如:var newArr=[...类数组名]
类数组通常有哪些呢:arguments,获取的DOM组成的类数组
copywithin:方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度
const array1 = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘];
console.log(array1.copyWithin(0, 3, 4));
find():返回匹配的数组元素,没有匹配的返回undefined
findIndex():返回匹配的数组元素下标,没有匹配的就返回-1
fill(value,start,end) 填充数据
keys(), values(), entries()返回迭代器,必须通过for of来遍历返回
例如:
for(let [key,value] of arr.entries()) {
console.log(`下标为${key},对应的值为${value}`)
}
对象也有类似获取values,keys,entries方法
Object.values():获取对象的值(即value)
Object.keys() :获取对象的属性(即key)
Object.entries() 获取对象的key和value
var obj={
username:‘张三‘,
age:20,
address:‘北京‘
}
转换成字符串拼接的形式:
let url="http://www.badiu.com/"
userinfo=‘张三‘&age=20&address=北京
var str="";
Object.keys(obj).forEach((item,index)=>{
str+=`${item}=${obj[item]}&`
})
includes():检测数组中是否含有某一个值 有返回true,没有返回false
indexOf() 检测数组中是否有某一个值 有返回下标,没有返回-1
var arr=[
{id:1001,name:‘alice‘,code:1},
{id:1001,name:‘alice‘,code:2},
{id:1001,name:‘alice‘,code:11},
{id:1001,name:‘alice‘,code:15}
]
var statusArr=[0,1,2]
arr.filter((item,index)=>{
var flag=false;
return statusArr.includes(item.code)
})
flat:数组扁平化 ES2019
数组扁平化概念:如何将多维数组转换成一维数组的过程
方法:
1.toString()
2.flat转换
例如: var arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat();
// [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2);
// [1, 2, 3, 4, 5, 6]
标签:区别 str nts 数组名 object amp 复制 方法 let
原文地址:https://www.cnblogs.com/akby/p/12881132.html