Es6数组新增方法与字符串新增方法和新增数据类型

2023-11-08

1. 数组新增方法

  • map方法:将数组中每一个元素依次取出,进行遍历,返回一个新的数组
let movies=[
	{id:1,name:"大话西游",author:"xxxx",imgUrl:"http://xxx.douban.com/1.jpg"},
	{id:2,name:"逃学威龙",author:"xxxx",imgUrl:"http://xxx.douban.com/2.jpg"},
	{id:3,name:"喜剧之王",author:"xxxx",imgUrl:"http://xxx.douban.com/3.jpg"}
]

movies = movies.map(item => {
    item.imgUrl = item.imgUrl.replace("xxx","www")
    return item;
})

console.log(movies);
  • filter方法:筛选数组中的内容,找出其中符合条件的元素,返回一个新数组
let scores = [49,79,44,99,50];
let arr = scores.filter(item => item >= 60);
console.log(arr); // [ 79, 99 ]

缺点:filter只能用于数据量较小的内容筛选,不适合用在数据库这种大型的数据搜索。

  • some方法: 只要有一个符合要求,整体都为真
let scores = [85,55,98,75,56,101];
let result = scores.some(item => item >= 100);
console.log(result); // true
  • every: 全体为真才为真
let scores = [85,55,98,75,56,101];
let result = scores.every(item => item >= 50);
console.log(result); // true
  • reduce:将数组中的元素进行整合,返回一个新的内容
  1. prev: 上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev
  2. item: 当前数组元素
  3. index: 数组元素的索引值
  4. array: 当前操作的数组
//reduce实现数组中的去重,返回一个新的没有重复的数组

let arr = ["百度","腾讯","阿里","京东","百度","腾讯","京东"];
let result = arr.reduce((prev,item) => {
    if(!prev.includes(item)){
        prev.push(item)
    }
    return prev;
},[])
console.log(result); // [ "百度", "腾讯", "阿里", "京东" ]

2. 字符串新增方法

  • startsWith() 判断字符串以什么开头,返回布尔值
let str = "hello world";
let result = str.startsWith("hello");
console.log(result); // true
  • 判断字符串以什么结尾 endsWith()
let str = "hello world";
let r2 = str.endsWith("世界");
console.log(r2); // false
  • trim() 去除字符串前后的空格符
let str=" hello world ";
console.log(str.trim() === "hello world"); // true

3. Es6新增数据类型

  • set类型: 类数组,不重复的数组
let s1 = new Set([1,2,3,4,5,5,5]);        
// set 类数组的长度用size
console.log(s1.size); // 5

利用set来实现数组的去重
如何让set类型转化为数组 类数组转化为数组
Array.from() 类型的转化

let arr = [1,2,3,4,5,5,5];
let s1 = new Set(arr);
arr = Array.from(s1)
console.log(arr); // [ 1, 2, 3, 4, 5 ]
  • map类型:可以将任意的元素,作为key
<button id="bt1">点击</button>

<script>
	var bt1 = document.getElementById("bt1");
	let m = new Map();
	//增加属性 set()
	m.set(bt1,"按钮")
	//访问 get()
	console.log(m.get(bt1)); // 按钮
</script>
  • symbol 创建一个独一无二得值,防止出现属性的覆盖问题,内部调用的方法 利用symbol进行单独的封装,防止出现覆盖
let name = Symbol("姓名");
let r = Symbol("姓名");
console.log(r); // Symbol("姓名")
console.log(name === r); // false
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Es6数组新增方法与字符串新增方法和新增数据类型 的相关文章