字符串-数组-对象新增的方法

<!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>
posted @ 2021-12-26 23:04  13522679763-任国强  阅读(76)  评论(0)    收藏  举报