Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一本大道加勒比久久综合 ,亚洲一区中文字幕在线,精品久久久在线观看

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          前端實(shí)戰(zhàn)總結(jié) JavaScript 數(shù)組去重

          、利用ES6 Set去重(ES6中最常用)

          function unique (arr){

          return Array.from(new Set(arr))

          }

          var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined,

          null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];

          console.log(unique(arr))

          //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]

          不考慮兼容性,這種去重的方法代碼最少。這種方法還無(wú)法去掉“{}”空對(duì)象,后面的高階方法會(huì)添加去掉“{}”空對(duì)象。

          二、利用for嵌套for,然后splice去重(ES5中最常用)

          function unique(arr){

          for(var i=0; i<arr.length; i++){

          for(var j=i+1;j<arr.length; j++){

          if(arr[i]==arr[j]){ //第一個(gè)等同于第二個(gè),splice方法刪除第二個(gè)

          arr.splice(j,1);

          j--;

          }

          }

          }

          return arr;

          }

          var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN'NaN', 0, 0, 'a', 'a',{},{}];

          console.log(unique(arr))

          //[1, "true", 15, false, undefined, NaN, NaN, "NaN", "a", {…}, {…}]

          雙層循環(huán),外層循環(huán)元素,內(nèi)層循環(huán)時(shí)比較值。值相同時(shí),則刪去這個(gè)值

          三、利用indexOf去重

          新建一個(gè)空的結(jié)果數(shù)組,for 循環(huán)原數(shù)組,判斷結(jié)果數(shù)組是否存在當(dāng)前元素,如果有相同的值則跳過(guò),不相同則push進(jìn)數(shù)組。

          四、利用sort()

          利用sort()排序方法,然后根據(jù)排序后的結(jié)果進(jìn)行遍歷及相鄰元素比對(duì)。

          五、利用對(duì)象的屬性不能相同的特點(diǎn)進(jìn)行去重

          六、利用includes

          function unique(arr) {

          var obj = {};

          return arr.filter(function(item, index, arr){

          return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)

          })

          }

          利用hasOwnProperty 判斷是否存在對(duì)象屬性。

          八、利用filter

          九、利用遞歸去重

          十、利用Map數(shù)據(jù)結(jié)構(gòu)去重

          創(chuàng)建一個(gè)空Map數(shù)據(jù)結(jié)構(gòu),遍歷需要去重的數(shù)組,把數(shù)組的每一個(gè)元素作為key存到Map中。由于Map中不會(huì)出現(xiàn)相同的key值,所以最終得到的就是去重后的結(jié)果。

          十一、利用reduce

          十二、[...new Set(arr)]

          有問(wèn)題可以私信小編:web

          avaScript 中的數(shù)組是一種非常靈活且功能豐富的數(shù)據(jù)結(jié)構(gòu),它允許您存儲(chǔ)有序的數(shù)據(jù)集合。在這篇文章中將分享一些常用的 JavaScript 數(shù)組操作方法,并提供具體的代碼示例。無(wú)論您是初學(xué)者還是有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,這些操作都是您日常開(kāi)發(fā)中不可或缺的工具。

          創(chuàng)建數(shù)組

          在 JavaScript 中,創(chuàng)建數(shù)組有多種方法:

          // 字面量方式
          let fruits = ['apple', 'banana', 'cherry'];
          
          // 使用構(gòu)造函數(shù)
          let numbers = new Array(1, 2, 3, 4, 5);
          

          訪問(wèn)和修改數(shù)組元素

          數(shù)組元素可以通過(guò)索引來(lái)訪問(wèn)和修改,索引是從 0 開(kāi)始的數(shù)字。

          let fruits = ['apple', 'banana', 'cherry'];
          
          // 訪問(wèn)第一個(gè)元素
          console.log(fruits[0]); // 輸出:apple
          
          // 修改第二個(gè)元素
          fruits[1] = 'blueberry';
          console.log(fruits); // 輸出:['apple', 'blueberry', 'cherry']
          

          遍歷數(shù)組

          遍歷數(shù)組元素是處理數(shù)組時(shí)的常見(jiàn)需求。我們可以使用 for 循環(huán)或數(shù)組的 forEach 方法。

          let numbers = [1, 2, 3, 4, 5];
          
          // 使用 for 循環(huán)
          for (let i = 0; i < numbers.length; i++) {
            console.log(numbers[i]);
          }
          
          // 使用 forEach 方法
          numbers.forEach(function(number) {
            console.log(number);
          });
          

          添加和刪除元素

          JavaScript 提供了多種方法來(lái)添加或刪除數(shù)組中的元素。

          let colors = ['red', 'green', 'blue'];
          
          // 添加元素到數(shù)組的末尾
          colors.push('yellow');
          
          // 刪除數(shù)組末尾的元素
          colors.pop();
          
          // 添加元素到數(shù)組的開(kāi)頭
          colors.unshift('purple');
          
          // 刪除數(shù)組開(kāi)頭的元素
          colors.shift();
          

          查找元素

          當(dāng)需要查找數(shù)組中的元素時(shí),可以使用 indexOf 或 includes 方法。

          let pets = ['cat', 'dog', 'bird'];
          
          // 查找元素的索引
          let index = pets.indexOf('dog');
          console.log(index); // 輸出:1
          
          // 檢查數(shù)組是否包含某個(gè)元素
          let hasCat = pets.includes('cat');
          console.log(hasCat); // 輸出:true
          

          數(shù)組排序和反轉(zhuǎn)

          數(shù)組的 sort 方法可以對(duì)數(shù)組進(jìn)行排序,而 reverse 方法則可以將數(shù)組中的元素順序反轉(zhuǎn)。

          let numbers = [3, 1, 4, 1, 5, 9];
          
          // 排序
          numbers.sort();
          console.log(numbers); // 輸出:[1, 1, 3, 4, 5, 9]
          
          // 反轉(zhuǎn)
          numbers.reverse();
          console.log(numbers); // 輸出:[9, 5, 4, 3, 1, 1]
          

          數(shù)組合并和拼接

          使用 concat 方法可以合并數(shù)組,而 join 方法可以將數(shù)組元素拼接成字符串。

          let even = [2, 4, 6];
          let odd = [1, 3, 5];
          
          // 合并數(shù)組
          let numbers = even.concat(odd);
          console.log(numbers); // 輸出:[2, 4, 6, 1, 3, 5]
          
          // 拼接數(shù)組元素為字符串
          let numbersStr = numbers.join(', ');
          console.log(numbersStr); // 輸出:"2, 4, 6, 1, 3, 5"
          

          高階數(shù)組方法

          JavaScript ES6 引入了一些高階數(shù)組方法,讓處理數(shù)組變得更加簡(jiǎn)潔和高效。

          let numbers = [1, 2, 3, 4, 5];
          
          // map 方法
          let squares = numbers.map(x => x * x);
          console.log(squares); // 輸出:[1, 4, 9, 16, 25]
          
          // filter 方法
          let evens = numbers.filter(x => x % 2 === 0);
          console.log(evens); // 輸出:[2, 4]
          
          // reduce 方法
          let sum = numbers.reduce((acc, x) => acc + x, 0);
          console.log(sum); // 輸出:15
          

          總結(jié)

          JavaScript 數(shù)組是一種非常強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),提供了豐富的方法來(lái)處理數(shù)據(jù)。掌握這些數(shù)組操作對(duì)于前端開(kāi)發(fā)是非常重要的。希望這篇文章能幫助你更好地理解和使用 JavaScript 數(shù)組。記得多練習(xí),因?yàn)閷?shí)踐是學(xué)習(xí)的最好方式!

          常扒別人網(wǎng)站文章的坑們;我是指那種批量式采集的壓根不看內(nèi)容的;少不了都會(huì)用到刪除html標(biāo)簽的函數(shù);這里介紹3種不同用途上的方法;

          $str='<div><p>這里是p標(biāo)簽</p><img src="" alt="這里是img標(biāo)簽"><a href="">這里是a標(biāo)簽</a><br></div>';


          1:刪除全部或者保留指定html標(biāo)簽php自帶的函數(shù)strip_tags即可滿足要求,使用方法:strip_tags(string,allow);string:需要處理的字符串;allow:需要保留的指定標(biāo)簽,可以寫(xiě)多個(gè);

          echo strip_tags($str,'<p><a>');//輸出:<p>這里是p標(biāo)簽</p><a href="">這里是a標(biāo)簽</a>


          此函數(shù)的優(yōu)點(diǎn)是簡(jiǎn)單粗暴;但是缺點(diǎn)也很明顯;如果有一大堆標(biāo)簽;而我只是想刪除指定的某一個(gè);那要寫(xiě)很多需要保留的標(biāo)簽;所以有了第二個(gè)方法;

          2:刪除指定的html標(biāo)簽使用方法:strip_html_tags($tags,$str);$tags:需要?jiǎng)h除的標(biāo)簽(數(shù)組格式)$str:需要處理的字符串;

          function strip_html_tags($tags,$str){
              $html=array();
              foreach ($tags as $tag) {
                  $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
              }
              $data=preg_replace($html, '', $str);
              return $data;
          }
          echo strip_html_tags(array('p','img'),$str);
          //輸出:<div>這里是p標(biāo)簽<a href="">這里是a標(biāo)簽</a><br></div>;

          3:刪除標(biāo)簽和標(biāo)簽的內(nèi)容使用方法:strip_html_tags($tags,$str);$tags:需要?jiǎng)h除的標(biāo)簽(數(shù)組格式)$str:需要處理的字符串;

          function strip_html_tags($tags,$str){
              $html=array();
              foreach ($tags as $tag) {
                  $html[]='/<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>/';
                  $html[]='/<'.$tag.'.*?>/';
              }
              $data=preg_replace($html,'',$str);
              return $data;
          }
          echo strip_html_tags(array('a','img'),$str);
          //輸出<div><p>這里是p標(biāo)簽</p><br></div>

          很多網(wǎng)站文章里面會(huì)帶上網(wǎng)站名和鏈接;這個(gè)函數(shù)就是專治這種;別拿這個(gè)函數(shù)采集本站啊;不然保證不打死你;4:終極函數(shù),刪除指定標(biāo)簽;刪除或者保留標(biāo)簽內(nèi)的內(nèi)容;使用方法:strip_html_tags($tags,$str,$content);$tags:需要?jiǎng)h除的標(biāo)簽(數(shù)組格式)$str:需要處理的字符串;$ontent:是否刪除標(biāo)簽內(nèi)的內(nèi)容 0保留內(nèi)容 1不保留內(nèi)容


          主站蜘蛛池模板: 一区二区三区福利| 日韩精品一区二区三区中文| 精品人妻系列无码一区二区三区| 一区二区三区在线免费| 精品一区二区久久久久久久网精| 国产福利一区二区| 国产激情无码一区二区| 精彩视频一区二区三区| 精品一区二区三区四区| 2020天堂中文字幕一区在线观| 高清一区二区三区视频| 精品一区二区三区免费毛片爱| 亚洲综合av一区二区三区| 香蕉一区二区三区观| 亚洲视频一区在线观看| 国产视频福利一区| 精品视频一区二区三区在线观看 | 亚洲av片一区二区三区| 精品女同一区二区三区免费站| 精品国产日韩亚洲一区91| 在线观看免费视频一区| 无码8090精品久久一区| 国产成人精品第一区二区| 精品免费久久久久国产一区| 蜜芽亚洲av无码一区二区三区| 风间由美性色一区二区三区| 亚洲综合av一区二区三区| 无码精品人妻一区| 人妻少妇精品视频一区二区三区 | 亚洲AV无码一区二区三区久久精品 | 在线播放国产一区二区三区 | 91无码人妻精品一区二区三区L| 色一乱一伦一图一区二区精品| 骚片AV蜜桃精品一区| 成人精品一区二区不卡视频| 亚洲一区二区三区播放在线| 能在线观看的一区二区三区| 亚洲一区二区影视| 色噜噜AV亚洲色一区二区| 日韩色视频一区二区三区亚洲| 亚洲综合一区二区国产精品|