字符串-数组-对象新增的方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 字符串新增的方法
// includes 判断字符串是否含有某些字符
// 1 基本用法
// console.log('abc'.includes('a')); // true
// console.log('abc'.includes('ab')); // true
// console.log('abc'.includes('bc')); // true
// console.log('abc'.includes('ac')); // false
//2 第二个参数
// 表示开始搜索的位置 默认是0
// console.log('abc'.includes('a')); // true
// console.log('abc'.includes('a',1)); // false
// 3 应用
// let url = 'https://www.baidu.com/'
// const addUrlParam = (url,name,value) => {
// url += url.includes('?') ? `&` : `?`
// url += `${name}=${value}`
// return url
// }
// url = addUrlParam(url,'c','fe')
// console.log(url); // https://www.baidu.com/?c=fe
// url = addUrlParam(url,'sort','pop')
// console.log(url); // https://www.baidu.com/?c=fe&sort=pop
// padStart() padEnd() 填充-不全字符串长度
// 基本用法
// console.log('x'.padStart(5,'ab')); // ababx
// console.log('x'.padEnd(5,'ab')); // xabab
// 注意事项
// 原字符串的长度 等于或者大于最大长度 不会消减字符串 字符串不全不会生效 返回原字符串
// console.log('xxx'.padEnd(2,'ab')); //xxx
// 用来补全的字符串与源字符串长度之和超过了最大长度 截去超出位数的补全字符串 原字符串不动
// console.log('abc'.padStart(10,'0123456789')); //0123456abc
// 如果省略第二个参数 默认使用空格补全长度
// console.log('x'.padStart(4)); // x
// 应用
// 显示日期格式
// 2020
// 10
// 10
//2020 - 10 - 10
// console.log('10'.padStart(2,0)); // 10
// console.log('1'.padStart(2,0)); // 01
// trimStart() trimEnd() trim() // 清除字符串的首尾空格 中间的空格不会清除
// 1 基本用法
// const s = ' a b c '
// console.log(s); // a b c
// console.log(s.trim()); //a b c
// console.log(s.trimStart()); //a b c
// console.log(s.trimEnd()); // a b c
// -------------------------------------------------------------
// 数组新增的方法
// includes 判断数组中是否含有某个成员
// console.log([1,2,3].includes('2')); // false
// console.log([1,2,3].includes(2)); // true
// 2 应用
// 去重
// [1,2,1]
// const arr = []
// for(const item of [1,2,1]){
// if(!arr.includes(item)){
// arr.push(item)
// }
// }
// console.log(arr); // [1, 2]
// Arr.form 将其他数据类型转换成数组
// console.log(Array.from('str')); // ["s", "t", "r"]
// 可以转成数组的 数组 字符串 set map NodeList arguments
// console.log(Array.from(new Set([1,2,1]))); // [1, 2]
// console.log([...new Set([1,2,1])]); // [1, 2]
// 拥有 length 的任意对象
// const obj = {
// '0':'a',
// '1':'b',
// length:2
// }
// console.log(Array.from(obj)); // ["a", "b"]
// 第二个参数
// console.log([1,2].map((value)=>{
// return value * 2
// })); // [2, 4]
// console.log(Array.from('12',value => value * 2)); // [2, 4]
// find() // 找到满足条件的一个 立即返回
// findIndex() // 找到满足条件的一个 立即返回索引
// let res = [1,5,10,15].find((value,index,arr) => {
// console.log(value,index,arr); // 1 0 (4) [1, 5, 10, 15]
// return value > 9
// })
// console.log(res); // 10
// let res = [1,5,10,15].findIndex((value,index,arr) => {
// console.log(value,index,arr); // 1 0 (4) [1, 5, 10, 15]
// return value > 9
// })
// console.log(res); // 2
// -------------------------------------------------------------
// 对象新增的方法
// Object.assign() 合并对象
// const apple = {
// color:'红色',
// shape:'圆形',
// taste:'甜'
// }
// const pen = {
// color:'黑色',
// shape:'圆柱形',
// use:'写字'
// }
// // Object.assign() 直接合并到了第一个参数中 返回的就是合并后的对象
// console.log(Object.assign(apple,pen)); // {color: "黑色", shape: "圆柱形", taste: "甜", use: "写字"}
// // 合并成一个新的对象
// console.log(Object.assign({},apple,pen));
// // 合并成一个新的对象
// console.log({...apple,...pen});
// Object.keys()
// Object.values()
// Object.entries()
// const person = {
// name:'Alex',
// age:18
// }
// console.log(Object.keys(person)); // (2) ["name", "age"]
// console.log(Object.values(person)); // ["Alex", 18]
// console.log(Object.entries(person)); // 0: (2) ["name", "Alex"] 1: (2) ["age", 18]
// for(var item of Object.keys(person)){
// console.log(item);
// }
// for(var item of Object.values(person)){
// console.log(item);
// }
// for(var item of Object.entries(person)){
// console.log(item);
// }
// for(var [key,value] of Object.entries(person)){
// console.log(key,value);
// }
</script>
</body>
</html>
我是Eric,手机号是13522679763

浙公网安备 33010602011771号