字符串新方法
- includes判断字符串是否包含参数字符串,返回Boolean值
- startsWith()判断字符串是否已参数字符串开头
- endsWith()判断字符串是否已参数字符串结尾
//例如
let str = 'Hello World'
str.includes('Hello') //true
str.startsWith('Hello') //true
str.endsWith('Hello') //false
- repeat()方法按指定次数返回一个新的字符串。
console.log('hello'.repeat(2)); //'hellohello'
- padStart()/padEnd(),用参数字符串按给定长度从前面或后面补全字符串,返回新字符串。
let arr = 'hell';
console.log(arr.padEnd(5,'o')); //'hello'
console.log(arr.padEnd(6,'o')); //'helloo'
console.log(arr.padEnd(6)); //'hell ',如果没有指定将用空格代替
console.log(arr.padStart(5,'o')); //'ohell'
- 结构表达式(数组、对象)
let [a,b,c]=[1,2,3]
console.log(a,b,c,) // 1,2,3
let [a,b,c]=[1,2]
console.log(a,b,c) // 1,undefined,3
let [a,,b]=[1,2,3]
console.log(a,b) //1,3
let [a,...b]=[1,2,3] //...是剩余运算符,表示赋值运算符右边除第一个值外剩余的都赋值给b
console.log(a,b) //1,[2,3]
- 对象解构
let obj = {
name: "ren",
age: 12,
sex: "male"
};
let { name, age, sex } = obj;
console.log(name, age, sex); //'ren' 12 'male'
let { name: myName, age: myAge, sex: mySex } = obj; //自定义变量名
console.log(myName, myAge, mySex); //'ren' 12 'male'
- Set(后端的Set集合对象),数组去重
let mySet = new Set([1,2,3]);//里面要传一个数组,否则会报错
console.log(mySet); //{1,2,3}
mySet.add(4);
console.log(mySet); //{1,2,3,4}
mySet.delete(1); //true
mySet.has(1); //false
console.log(mySet); //{2,3,4}
//数组去重
let arr = [1,1,2,3,4,4];
let mySet = new Set(arr);
let newArr = Array.from(mySet);
console.log(newArr); //[1,2,3,4]
数组的新方法
- 新增的方法有: Array.from()是内置对象Array的方法,实例数组不能调用
- ncludes() 参数:数值 --------返回值:true/false map()、
- filter() 参数:函数-------- 返回值:数组
- forEach()参数:函数-------- 返回值:undefined
- find() 参数:函数-------- 返回值:数值
- some()、every() 参数:函数-------- 返回值:true/false
// forEach() 方法------是循环遍历数组中的每一项,没有返回值
//find()方法---------是查找数组中符合条件的第一个元素,直接将这个元素返回出来
let arr = [10,23,64,5,16,29]
let a1= []
arr.forEach((v, i)=>{
if (v > 10) {
a1.push(arr[i])
}
})
console.log(a1) [23,64,16,29]
// find
let a= arr.find(v => v > 10)
console.log(a) // 23
// some()方法------找到一个符合条件的就返回true,所有都不符合返回false。
let arr = [1,2,3,4,6,11]
let newarr = arr.some(function(v){
return v > 10
})
console.log(newarr) //true
// every()方法------数组所有值都符合条件才会返回true,有一个不符合返回false。
let newarr2 = arr.every(function(v){
return v > 10
})
console.log(newarr2) //false
10.object的新方法 Object.is()、Object.assign()、Object.keys()、Object.values()、Object.entries()
- Object.is()方法用来判断两个值是否为同一个值,返回一个布尔类型的值。
- Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象,并返回目标对象。
- Object.keys() 返回对象所有属性
- Object.values() 返回对象所有属性值
- Object.entries() 返回多个数组,每个数组是 key–value
const obj1 = {};
const obj2 = {};
console.log(Object.is(obj1, obj2)); // false
const obj3 = {};
const value1 = obj3;
const value2 = obj3;
console.log(Object.is(value1, value2)); // true
//Object.assign()
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const obj3 = { a:5 , c: 3 };
//对象合并,把后面对像合并到第一个对象,对象里相同的属性会覆盖
Object.assign(obj1, obj2, obj3);
console.log(obj1); // { a: 5, b: 2 , c:3}
// Object.keys()、Object.values()、Object.entries()
<script>
let person = {
name: "admin",
age: 12,
language: ["java", "js", "css"],
};
console.log(Object.keys(person)); //[ 'name', 'age', 'language' ]
console.log(Object.values(person)); //[ 'admin', 12, [ 'java', 'js', 'css' ] ]
console.log(Object.entries(person)); /* [
["name", "admin"],
["age", 12],
["language", ["java", "js", "css"]],
]; */
</script>