基础 js数组 (八)

 

 

ES6 数组some()和every()的使用及说明_javascript技巧_脚本之家 (jb51.net)

 

 var array = [1, 3, 4, 6, 88];
      // 在forEach 里面 return 不会终止迭代
      array.forEach(function (val, index, array) {
        // console.log(val); //数组的值
        // console.log(index); //索引
        // console.log(array); //数组本身
        // if (val == 3) {
        //   console.log(val)
        //   return true;
        // }
      });
      //过滤 返回数组 filter 里面 return 不会终止迭代
      // var result = array.filter(function (val, index) {
      //   return val == 3;
      // });
      // console.log(result)
      //some 返回的是布尔值 在some 里面 遇到 return true 就是终止遍历 迭代效率更高
      // var result = array.some(function (val, index, array) {
      //   console.log(val);
      //   console.log(index);
      //   console.log(array);
      //   return val == 3;
      // });
      // console.log(result);
      var testTrim = " 133 ";
      console.log(testTrim.trim());

      var user = { name: "ppp", age: 12, email: "qq@qq.com" };
      console.log(user["name"]);
      console.log(user["age"]);
      //使用  Object.keys 循环对象属性
      // var userArray = Object.keys(user);
      // userArray.forEach(function (val, index, array) {
      //   console.log('属性名称:'+val+','+'属性值'+user[val])
      //   // console.log(val);
      // });

      var Phone = { name: "小米手机", price: 1999, address: "北京" };
      // Object.defineProperty(Phone,'price', {value:2999,});

      Object.defineProperty(Phone, "address", {
        value: "天津",
        // 如果只为false 不允许修改这个属性值 默认值也是false
        writable: false,
        // enumerable 如果值为false 则不允许遍历, 默认的值是 false
        enumerable: false,
        // configurable 如果为false 则不允许删除这个属性 不允许在修改第三个参数里面的特性 默认为false
        configurable: false,
      });

      Phone.address='上海'
      console.log(Phone);

  

var ary = Array.from(arrayLike, item => item * 2)
		console.log(ary)

   var pp=[{name:'yy'},{name:'yx'}]
   var p1 =  pp.find(item=>item.name=='yy')
   console.log('p1结果',p1)
   var array6 =[33,455,676,44]
   var arry4=  array6.findIndex(item=>item==455)
   console.log(arry4)

   var arry7 = [33,44]
    var reuslt5= arry7.includes(33)
    console.log(reuslt5)

    let str ='你好a'
    let reusltstr=  str.startsWith('你')
    let restulendstr= str.endsWith('a')
    console.log(reusltstr)
    console.log(restulendstr)

    let a = 'y'.repeat(2)
    console.log(a)

  

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let array = ["bj", "sh", "cc", "jn"];
      let index = array.findIndex((item) => item == "bj");
      console.log("index", index);

      //返回布尔值
      let result = array.some(function (val, index, array) {
        return val == "jn";
      });
      console.log(result);
      //返回数组
      let result1 = array.filter(function (val, index, array) {
        return val == "jn";
      });
      console.log(result1);
      let result2 = array.find((item) => item == "jn");
      console.log("result2", result2);

      let result4 = array.map(function (val, index, array) {
        if (val == "bj") return val;
      });

      console.log("result4", result4);

      //每一个是否大于1
      let array1 = [12, 3, 4];
      let result3 = array1.every((item) => {
        return item > 1;
      });
      console.log("result3", result3);

      //pre 上一个值 cur 当前值 currentIndex 当前索引 array 数组
      let result0 = array1.reduce(function (pre, cur, currentIndex, array) {
        console.log("pre", pre);
        console.log("cur", cur);
        return pre + cur;
      }, 0);
      console.log("result0", result0); //6 即(0+1+2+3)
      //循环
      array.forEach((item) => {
        console.log("foreach", item);
      });
      
   
      //去重
      let array3 = array1.reduce(function (pre, cur, currentIndex, array) {
        //pre 当前是空数组
        console.log("pre",pre)
        console.log("cur",cur)
        pre.indexOf(cur) != -1 ? pre : pre.push(cur);
        return pre;
      }, []);
      console.log("array3", array3);
    </script>
  </body>
</html>

 

 let arry = [33, 55, 66, 88, 99,99,88];
      // 遇到 true 返回结束循环
      let result = arry.some((val, index, arry) => {
        if (val == 55) {
          console.log(arry);
          return true;
        }
      });
      console.log(result);
      // 返回数组
      let reuslt1 = arry.filter((val, index, array) => {
        if (val == 33) {
          return val;
        }
      });
      console.log(reuslt1);
      //返回值 没有返回 undefined
      let result2 = arry.find((val) => val == 33);
      console.log("result2", result2);
      //查找索引
      let result3 = arry.findIndex((val) => val == 33);
      console.log(result3);
      //是否存在
      let result4 = arry.includes(33);
      console.log(result4);
      //添加末尾
      arry.push(9);
      console.log(arry);
      //添加在头
      arry.unshift(1);
      console.log(arry);
      //删除头一个元素
      arry.shift();
      console.log(arry);
      //删除一个
      arry.splice(0, 1);
      console.log(arry);
      //添加一个
      arry.splice(0, 0, 1111);
      console.log(arry);
      //删除末尾一个元素 返回删除的元素
      let result8 = arry.pop();
      console.log("result8", result8);
      console.log("result8", arry);
      //有返回 索引
      let result6 = arry.indexOf(55);
      console.log(result6);
      //没有返 -1
      let result7 = arry.indexOf(555);
      console.log(result7);
      //排序
      let newArray = arry.sort((a, b) => {
        return a - b;
      });
      console.log(newArray);

      //数组去重
      let newArray1 = arry.reduce((pre, current, currentIndex) => {
        //pre 当前数组 
        //current 要去重复的数组 值
        pre.indexOf(current) == -1 ? pre.push(current) : pre;
        return pre;
      }, []);

      console.log("去重复数组",newArray1);

 

posted on 2024-09-09 22:37  是水饺不是水饺  阅读(14)  评论(0)    收藏  举报

导航