<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      改變?cè)瓟?shù)組的方法和不改變?cè)瓟?shù)組的方法

      1.改變?cè)瓟?shù)組的方法

          var arr = []
          arr.splice()
          arr.reverse()
          arr.fill()
          arr.copyWithin()
          arr.sort()
          arr.push()
          arr.pop()
          arr.unshift()
          arr.shift()

      arr.splice()

          // 1.刪除功能。
          let arr = ['a', 'b', 'c', 'd'];
          // 從下標(biāo)0開始,刪除2個(gè)元素,并接收刪除的元素。
          let deletedElements = arr.splice(0, 2);
          console.log(arr); // ["c", "d"]
          console.log(deletedElements); //["a", "b"]
      
          // 2.插入功能
          arr = ['a', 'b', 'e', 'f'];
          // 從下標(biāo)2處開始,刪除0個(gè)元素,插入c, d兩個(gè)元素。
          arr.splice(2, 0, 'c', 'd');
          console.log(arr); //  ["a", "b", "c", "d", "e", "f"]
      
          // 3.替換功能。
          arr = ['a', 'a', 'a', 'b'];
          // 從下標(biāo)1處開始,刪除3個(gè)元素,插入b,c兩個(gè)元素。
          arr.splice(1, 3, 'b', 'c');
          console.log(arr); // ["a", "b", "c"]

      arr.reverse()

          // reverse方法沒有參數(shù)   原數(shù)組改變了 返回的數(shù)組也是改變后的數(shù)組
          var arr = [4, 5, 6, 3, 2, 5, 4, 3, 9];
          var arrReturn = arr.reverse();
      
          console.log(arr); //[9, 3, 4, 5, 2, 3, 6, 5, 4]
          console.log(arrReturn); //[9, 3, 4, 5, 2, 3, 6, 5, 4]

      arr.fill()

          // arr.fill() 是 ES6 的新方法。
          // fill() 方法用于將一個(gè)固定值替換數(shù)組的元素。
          // 語(yǔ)法: array.fill(value, start, end)
          // 1.value 必需。填充的值。
          // 2.start 可選。開始填充位置。
          // 3.end 可選。停止填充位置 (默認(rèn)為 array.length)填充是從 start 位置開始,到 end-1 位置結(jié)束,不包含end位置.直接修改原數(shù)組
      
          let arr1 = [1, 2, 3, 4, 56, 7, 7, 8, 9];
          arr1.fill(4, 2, 5);
          console.log(arr1); //   [1, 2, 4, 4, 4, 7, 7, 8, 9]
          let arr2 = [1, 2, 3, 4, 56, 7, 7, 8, 9];
          arr2.fill(4);
          console.log(arr2); //  [4, 4, 4, 4, 4, 4, 4, 4, 4]

      arr.copyWithin()

          // 數(shù)組實(shí)例的copyWithin()方法,在當(dāng)前數(shù)組內(nèi)部,將指定位置的成員復(fù)制到其他位置(會(huì)覆蓋原有成員),然后返回當(dāng)前數(shù)組。也就是說,使用這個(gè)方法,會(huì)修改當(dāng)前數(shù)組。
      
          // 它接受三個(gè)參數(shù)。
          // target(必需):從該位置開始替換數(shù)據(jù)。
          // start(可選):從該位置開始讀取數(shù)據(jù),默認(rèn)為 0。如果為負(fù)值,表示倒數(shù)。
          // end(可選):到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果為負(fù)值,表示倒數(shù)。
          // 這三個(gè)參數(shù)都應(yīng)該是數(shù)值,如果不是,會(huì)自動(dòng)轉(zhuǎn)為數(shù)值。
      
          [1, 2, 3, 4, 5].copyWithin(0, 3);
          // 結(jié)果為 [4, 5, 3, 4, 5]
          // 上面代碼表示將從 3 號(hào)位直到數(shù)組結(jié)束的成員(4 和 5),復(fù)制到從 0 號(hào)位開始的位置,結(jié)果覆蓋了原來(lái)的 1 和 2。下面是更多例子。
      
          // 將3號(hào)位復(fù)制到0號(hào)位
          [1, 2, 3, 4, 5].copyWithin(0, 3, 4)
          // [4, 2, 3, 4, 5]
          // 將索引從3開始到4結(jié)束 復(fù)制到索引1的位置
      
          // -2相當(dāng)于3號(hào)位,-1相當(dāng)于4號(hào)位
          [1, 2, 3, 4, 5].copyWithin(0, -2, -1)
          // [4, 2, 3, 4, 5]

      arr.sort()

          // arr.sort() 是給數(shù)組進(jìn)行排序
      
          var peiData=  [
              { name: '輸電', y: 28, h: 50 },
              { name: '變電', y: 20, h: 40 },
              { name: '配電', y: 10, h: 20 },
              { name: '新業(yè)務(wù)', y: 3, h: 6 }
          ]
      
          peiData.sort(function (a, b) {
              return a.y - b.y
          })
          console.log(peiData);
          // 已數(shù)組中的每一項(xiàng)的y值比較 進(jìn)行排序

      arr.push()

          // push方法 :接受任意數(shù)量的參數(shù) 把參數(shù)逐個(gè)添加到數(shù)組的末尾 改變了原數(shù)組 返回插入后數(shù)組的長(zhǎng)度
      
          var arr1 = [1, 2, 3, 4, 5, 6];
          var newarr = arr1.push(7, 8, 9, 10);
          console.log(arr1); // arr1[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];  改變了原數(shù)組
          console.log(newarr); // 10    返回插入后數(shù)組的長(zhǎng)度
      
          // 下面是在接數(shù)據(jù)時(shí)的用法
          var newval = [
              { name: '輸電', y: 28 },
              { name: '變電', y: 20 },
              { name: '配電', y: 10 },
              { name: '新業(yè)務(wù)', y: 3 }
          ];
          var peiData = [];
          newval.forEach((item) => {
              peiData.push({
                  name: item.name,
                  y: item.y * 1,
                  h: item.y * 1.5
              });
          });
          console.log(peiData);
          //  peiData結(jié)果為----
          [
              { name: '輸電', y: 28, h: 42 },
              { name: '變電', y: 20, h: 30 },
              { name: '配電', y: 10, h: 15 },
              { name: '新業(yè)務(wù)', y: 3, h: 4.5 }
          ];

      arr.pop()

          // pop : 刪除數(shù)組中的最后一個(gè) 元素 并返回  影響原數(shù)組
          var arr = [1, 3, 5, 7];
          console.log(arr.pop()); //  輸出 7
          console.log(arr); //  [1,3,5]

      arr.unshift()

          // unshift() 方法可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
          // 返回值
          // 把指定的值添加到數(shù)組的開頭之后的新長(zhǎng)度。
      
          // 說明
          // unshift() 方法將把它的參數(shù)插入 arrayObject 的頭部,并將已經(jīng)存在的元素順次地移到較高的下標(biāo)處,以便留出空間。該方法的第一個(gè)參數(shù)將成為數(shù)組的新元素 0,如果還有第二個(gè)參數(shù),它將成為新的元素 1,以此類推。
      
          // 請(qǐng)注意:unshift() 方法不創(chuàng)建新的創(chuàng)建,而是直接修改原有的數(shù)組。
      
          // 提示和注釋
          // 注釋:該方法會(huì)改變數(shù)組的長(zhǎng)度。
      
          // 注釋:unshift() 方法無(wú)法在 Internet Explorer 中正確地工作!
      
          // 提示:要把一個(gè)或多個(gè)元素添加到數(shù)組的尾部,請(qǐng)使用 push() 方法。
      
          var arr = new Array();
          arr[0] = 'George';
          arr[1] = 'John';
          arr[2] = 'Thomas';
      
          document.write(arr + '<br />');
          document.write(arr.unshift('William') + '<br />');
          document.write(arr);
      
          // 輸出結(jié)果為
          //       George, John, Thomas;
          //       4;
          //       William, George, John, Thomas;

      arr.shift()

          // shift() 方法用于把數(shù)組的第一個(gè)元素從其中刪除,并返回第一個(gè)元素的值。
          var arr = ['北京', '上海', '廣州', '天津'];
          var arr1 = arr.shift(); // 有返回值 用arr1接受一下
          console.log(arr); //['上海', '廣州', '天津']
          console.log(arr1); // 北京

      1.不改變?cè)瓟?shù)組的方法

          var arr = []
          arr.slice()
          arr.map()
          arr.forEach()
          arr.every()
          arr.some()
          arr.filter()
          arr.reduce()
          arr.entries()
          arr.find()
          arr.concat('1',['2','3']) //[1,2,3]

      arr.slice()

          // slice方法 主要用來(lái)截取數(shù)組 原數(shù)組不發(fā)生變化 返回一個(gè)新數(shù)組
      
          var arr1 = ['arr1', 'arr2', 'arr3', 'arr4', 'arr5', 'arr6'];
      
          // 傳入兩個(gè)參數(shù) 一個(gè)是開始截取的下標(biāo) 一個(gè)是結(jié)束截取的下標(biāo)
          var newarr1 = arr1.slice(1, 5);
      
          console.log(newarr1); // ["arr2", "arr3", "arr4", "arr5"] 下標(biāo)為1, 2, 3, 4的值都被截取出來(lái)了 但是沒有下標(biāo)為5的值 所以截取并的不包括第二個(gè)參數(shù)
          console.log(arr1); // ["arr1", "arr2", "arr3", "arr4", "arr5", "arr6"]
      
          // 傳入一個(gè)參數(shù) 表示需要開始截取的下標(biāo) 默認(rèn)截取從開始截取的下標(biāo)開始到數(shù)組結(jié)束
      
          var newarr2 = arr1.slice(1);
          console.log(newarr2); // [ "arr2", "arr3", "arr4", "arr5", "arr6"]; 可以看到除了下標(biāo)為1的都被截取了

      arr.map()

          // map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。
      
          const array1 = [1, 4, 9, 16];
          // pass a function to map
          const map1 = array1.map((x) => x * 2);
          console.log(map1);
          // expected output: Array [2, 8, 18, 32]
      
          // 下面是在處理數(shù)據(jù)上用的   用于把name和value 分別拆成一個(gè)新的數(shù)組
          var allData = [
          { name: '北京', value: 30 },
          { name: '傷害', value: 1946 },
          { name: '陜西', value: 5407 },
          { name: '西安', value: 8466 },
          { name: '廣州', value: 5666 },
          { name: '深圳', value: 35 }
          ];
          var provinceArr = this.allData.map((item) => {
          return item.name;
          });
      
          var valueArr = this.allData.map((item) => {
          return item.value;
          });
      
          console.log(provinceArr); //  ['北京', '傷害', '陜西', '西安', '廣州', '深圳']
          console.log(valueArr); // [30, 1946, 5407, 8466, 5666, 35]

      arr.forEach()

          var arr = [1, 3, 5, 13, 2];
          var res = arr.forEach(function (item, index) {
          console.log(item, index);
          });
          console.log(res); //forEach的返回值為undefined,
      
          // 下面是我在項(xiàng)目里運(yùn)用過的
          // 下面是在接數(shù)據(jù)時(shí)的用法
          var newval = [
          { name: '輸電', y: 28 },
          { name: '變電', y: 20 },
          { name: '配電', y: 10 },
          { name: '新業(yè)務(wù)', y: 3 }
          ];
          var peiData = [];
          newval.forEach((item) => {
          peiData.push({
          name: item.name,
          y: item.y * 1,
          h: item.y * 1.5
          });
          });
          console.log(peiData);
          //  peiData結(jié)果為----
          [
          { name: '輸電', y: 28, h: 42 },
          { name: '變電', y: 20, h: 30 },
          { name: '配電', y: 10, h: 15 },
          { name: '新業(yè)務(wù)', y: 3, h: 4.5 }
          ];

      arr.every()

          // every()方法會(huì)返回一個(gè)Boolean類型的值,該值取決了數(shù)組中是否所有的元素滿足給定的條件
          // every()為數(shù)組中的每一個(gè)元素執(zhí)行一次回調(diào)函數(shù),如果數(shù)組中檢測(cè)到有一個(gè)元素不滿足,則整個(gè)表達(dá)式返回 false ,且剩余的元素不會(huì)再進(jìn)行檢測(cè);如果所有的元素都滿足給定的條件,那么將返回一個(gè)true
          // demo如下:
          var arr = [1, 8, 19, 48, 10];
      
          var flag = arr.every((item) => {
          return item < 100;
          });
      
          // var flag = arr.every(function (item) {
          //   return item > 100;
          // });
      
          console.log(flag); // true

      arr.some()

          // some()方法會(huì)返回一個(gè)Boolean類型的值,該值取決了數(shù)組中是否有元素滿足給定的條件
          // some()為數(shù)組中的每一個(gè)元素執(zhí)行一次回調(diào)函數(shù),直到找到一個(gè)使得回調(diào)函數(shù)返回一個(gè)“真值”(即可轉(zhuǎn)換為布爾值 true 的值),如果找到了這樣一個(gè)值,some() 將會(huì)立即返回 true;否則,some() 返回 false
          // demo如下:
          let arr = [10, 20, 40, 50, 60];
      
          let flag = arr.some((item) => {
          return item >= 50;
          });
          /*
          let flag = arr.some(function(item) {
          return item <= 50;
          })
          */
      
          console.log(flag); // true

      arr.filter()

          // 1、創(chuàng)建新數(shù)組
          // 2、不改變?cè)瓟?shù)組
          // 3、輸出的是判斷為true的數(shù)組元素形成的新數(shù)組
          // 4、回調(diào)函數(shù)參數(shù),item(數(shù)組元素)、index(序列)、arr(數(shù)組本身)
          // 5、使用return操作輸出,會(huì)循環(huán)數(shù)組每一項(xiàng),并在回調(diào)函數(shù)中操作
      
          var arr = [1, 2, 3, 4, 5];
          var newArr = arr.filter(function (item, index) {
          return item > 2 && item < 5; //根據(jù)判斷為true來(lái)遍歷循環(huán)添加進(jìn)新數(shù)組   返回大于2 小于5 的數(shù)  并形成一個(gè)新數(shù)組
          });
          console.log(newArr); //打印新數(shù)組   [3,4]
          console.log(arr); //打印原數(shù)組,map()沒有改變?cè)瓟?shù)組 [1, 2, 3, 4, 5];

      arr.reduce()

          // arr.reduce(callback,[initialValue])
          // reduce 為數(shù)組中的每一個(gè)元素依次執(zhí)行回調(diào)函數(shù),不包括數(shù)組中被刪除或從未被賦值的元素,接受四個(gè)參數(shù):初始值(或者上一次回調(diào)函數(shù)的返回值),當(dāng)前元素值,當(dāng)前索引,調(diào)用 reduce 的數(shù)組。
          // callback (執(zhí)行數(shù)組中每個(gè)值的函數(shù),包含四個(gè)參數(shù))
      
          // 1、previousValue (上一次調(diào)用回調(diào)返回的值,或者是提供的初始值(initialValue))
          // 2、currentValue (數(shù)組中當(dāng)前被處理的元素)
          // 3、index (當(dāng)前元素在數(shù)組中的索引)
          // 4、array (調(diào)用 reduce 的數(shù)組)
          // initialValue (作為第一次調(diào)用 callback 的第一個(gè)參數(shù)。)
      
          // (1)簡(jiǎn)單用法
          let arr1 = [1, 2, 3, 4, 5];
          //求和
          let sum = arr1.reduce((pre, item) => {
              return pre + item;
          }, 0);
          console.log('sum=', sum); //15
          //求積
          let mul = arr1.reduce((x, y) => {
              return x * y;
          });
          console.log('mul=', mul); //120
      
          // (2)數(shù)組中元素出現(xiàn)的次數(shù)
          let name = [1, 5, 2, 1, 6, 5, 1, 2, 4, 2, 4, 3, 5, 6];
          let nameNum = name.reduce((pre, item) => {
              if (item in pre) {
                  pre[item]++;
              } else {
                  pre[item] = 1;
              }
              return pre;
          }, {});
          console.log('次數(shù)', nameNum); //{1: 3, 2: 3, 3: 1, 4: 2, 5: 3, 6: 2}
      
          // (3)數(shù)組去重
          let name = [1, 5, 2, 1, 6, 5, 1, 2, 4, 2, 4, 3, 5, 6];
          let newArr = name.reduce((pre, item) => {
              if (!pre.includes(item)) {
                  return pre.concat(item);
              } else {
                  return pre;
              }
          }, []);
          console.log('newArr', newArr); //[1,5,2,6,4,3]

      arr.entries()

          // 獲取數(shù)組的鍵值對(duì)entries方法
          var arr = [1, 2, 3, 4, 5, 6];
          for (const [idx, val] of arr.entries()) {
          console.log(idx, val);
          }
      
          // 打印結(jié)果為
          // 0 1
          // 1 2
          // 2 3
          // 3 4
          // 4 5
          // 5 6

      arr.find()

          // arr.find():查找出第一個(gè)符合條件的數(shù)組成員,并返回該成員,如果沒有找到就返回undefine
          // 返回?cái)?shù)組中滿足提供的測(cè)試函數(shù)的第一個(gè)元素的值,若沒有滿足測(cè)試函數(shù)的元素,則返回undefined
          // function(必選):在數(shù)組的元素上執(zhí)行的函數(shù),它帶有三個(gè)參數(shù)
          // 1、currentValue(必選):元素
          // 2、index(可選):元素索引
          // 3、arr(可選):數(shù)組本身
          let a = [
              { name: 'chen', age: 18 },
              { name: 'li', age: 10 },
              { name: 'li', age: 13 },
              { name: 'huang', age: 44 },
              { name: 'zhou', age: 100 }
          ];
          let result = a.find((item) => item.name === 'li');
          console.log(result); //返回第一個(gè)符合的元素{name:'li',age:10}

      arr.concat()

          // 合并數(shù)組
          arr.concat('1',['2','3']) //[1,2,3]

       

      posted @ 2024-04-28 15:58  磊~~  閱讀(285)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 人妻少妇久久久久久97人妻 | 丁香五月婷激情综合第九色| 亚洲中文字幕有综合久久| 99久久无色码中文字幕| 久久人妻无码一区二区三区av| 国产不卡一区二区在线| 国产免费久久精品44| 国产精品午夜福利资源| 亚洲精品一区国产| 日本高清视频网站www| 亚洲经典av一区二区| 精品国产一区二区三区大| 精品无码成人片一区二区| 少妇高潮潮喷到猛进猛出小说| 国产精品二区中文字幕 | 九寨沟县| 精品中文人妻在线不卡| 国产精品不卡一区二区久久| 激情久久av一区二区三区| 日本中文字幕在线播放| 日韩中文字幕人妻一区| 人妻无码久久久久久久久久久 | 国产91精品一区二区蜜臀| 精品偷拍一区二区三区| 久久综合香蕉国产蜜臀av| 狠狠色噜噜狼狼狼色综合久| 免费A级毛片樱桃视频| 九台市| 国产精品露脸视频观看| 国产精品亚洲中文字幕| 国产精品视频一区二区噜噜| 亚洲中文字幕亚洲中文精| 日本亲近相奷中文字幕| 强行交换配乱婬bd| 亚洲欧美在线观看| 国产精品亚洲第一区在线| 国产女同一区二区在线| 高潮喷水抽搐无码免费| 亚洲成人av在线高清| 农村欧美丰满熟妇xxxx| 亚洲精品成人区在线观看|