欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript之高級(jí)數(shù)組API的使用實(shí)例

 更新時(shí)間:2019年03月08日 11:15:29   作者:MagicFairyLiu  
今天小編就為大家分享一篇關(guān)于Javascript之高級(jí)數(shù)組API的使用實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

JS中我們可以根據(jù)需求新建新的對(duì)象解決問題的同時(shí),也有一些常用的內(nèi)置對(duì)象供我們使用,我們稱之為API,本篇文章只是對(duì)數(shù)組部分進(jìn)行了練習(xí)。

例一:偽數(shù)組,不能修改長(zhǎng)短的數(shù)組(所以沒辦法清零),可以修改元素,代碼實(shí)現(xiàn)如下:

<script>
fn(1,2);
  fn(1,2,3,4,5,6);
  fn(1,2,4,5,7,9,4);
  function fn(a,b){
  arguments[0]=0;
  console.log(arguments);
  arguments.push(1);
  console.log(arguments instanceof Array);
  console.log(arguments.length);//實(shí)參個(gè)數(shù)
  console.log(fn.length);//形參個(gè)數(shù)
  console.log(arguments.callee);//整個(gè)函數(shù),包括注釋
  }
</script>

偽數(shù)組打印的是實(shí)參,而普通函數(shù)調(diào)用打印的是形參,并且打印它的函數(shù)類型,我們發(fā)現(xiàn)它的類型顯示并不是數(shù)組。

例二:將一個(gè)字符串?dāng)?shù)組輸出為|分割的形式,比如“劉備|張飛|關(guān)羽”。使用兩種方式實(shí)現(xiàn)

方法一:不利用內(nèi)置對(duì)象,進(jìn)行字符串拼接,由于第一個(gè)元素前沒有特殊符號(hào),首先將其賦值后,循環(huán)從下一個(gè)元素開始遍歷

<script>
var arr=["劉備","張飛","關(guān)羽"];
var str=arr[0];
for(var i=1;i<arr.length;i++){
  str+="|"+arr[i];
}
console.log(str);
</script>

方法二:使用內(nèi)置對(duì)象直接改變間隔符號(hào)

<script>
var arr=["劉備","張飛","關(guān)羽"];
var str=arr.join("|");
console.log(str);
</script>

兩種方法進(jìn)行對(duì)比,我們發(fā)現(xiàn)第一種方法使之產(chǎn)生了大量?jī)?nèi)存,導(dǎo)致內(nèi)存浪費(fèi)情況,從此看出對(duì)我們來說內(nèi)置對(duì)象的使用幫我們解決了內(nèi)存浪費(fèi)的缺點(diǎn)。

例三:將一個(gè)字符串?dāng)?shù)組的元素的順序進(jìn)行反轉(zhuǎn)。["a","b","c","d"] ->["d","c","b","a"]。使用兩種種方式實(shí)現(xiàn)。

方法一:之前文章介紹過的方法

<script>
var str1=["a","b","c","d"];
var str2=[];
for(var i=0;i<str1.length;i++){
  str2[str1.length-i-1]=str1[i];
}
console.log(str2);
</script>

方法二:直接使用內(nèi)置對(duì)象reverse()解決

<script>
var str1=["a","b","c","d"];
console.log(str1.reverse());
</script>

例四:工資的數(shù)組[1500,1200,2000,2100,1800],把工資超過2000的刪除

使用內(nèi)置對(duì)象filter()實(shí)現(xiàn)題目需求。

<script>
var arr=[1500,1200,2000,2100,1800];
var arr1=arr.filter(function(element,index,array){
  if(element<=2000){
    return true;
  }
  return false;
})
console.log(arr1);
</script>

例五:["c","a","z","a","x","a"]找到數(shù)組中每一個(gè)元素出現(xiàn)的次數(shù)

由于題目給出字符形式,讓我們求出的相應(yīng)字符的個(gè)數(shù)為數(shù)字形式,這讓我們應(yīng)用json更方便問題解決,將題目給出的字符作為“鍵”,將次數(shù)作為“鍵值”,來判斷數(shù)組中的元素,在json中是否存在屬性值,如果存在,在原有基礎(chǔ)上加上1;如果不存在直接賦值為1。

<script>
var arr=["c","a","z","a","x","a"];
var json={};
for(var i=0;i<arr.length;i++){
    if(json[arr[i]]!==undefined){
      json[arr[i]]+=1;
    }else{
      json[arr[i]]=1;
    }
}
console.log(json);
</script>

例六:編寫一個(gè)方法 去掉一個(gè)數(shù)組的重復(fù)元素

方法一:新建數(shù)組,將原數(shù)組第一個(gè)元素push進(jìn)入新數(shù)組。遍歷原數(shù)組的每一個(gè)元素使之在新數(shù)組每一個(gè)元素中都不存在(嵌套兩層for循環(huán)),就push進(jìn)入原數(shù)組,否則就跳出新數(shù)組循環(huán),進(jìn)入原數(shù)組的下一個(gè)元素循環(huán)。

<script>
var arr=[3,2,4,5,5,3,5,568,4,21,7];
var arr1=fn(arr);
function fn(array){
  var arr2=[];
  arr2.push(array[0]);
  abc:for(var i=0;i<array.length;i++){
    for(var j=0;j<arr2.length;j++){
      if(arr2[j]==array[i]){
        continue abc;
      }
    }
    arr2.push(array[i]);
  }
  return arr2;
}
console.log(arr1);
</script>

方法二:創(chuàng)建一個(gè)新數(shù)組,循環(huán)遍歷,只要新數(shù)組中有舊數(shù)組的值,就不要在添加。每次都要判斷新數(shù)組中是否有舊數(shù)組的值,保證舊數(shù)組的元素和新數(shù)組中每一個(gè)都不相等,則賦值給新數(shù)組的下一元素的值。

<script>
var arr=[1,2,3,4,5,2,3,4];
console.log(arr);
console.log(fn(arr));
function fn(array){
  var newArr=[];
  for(var i=0;i<array.length;i++){
    var bool=true;
    for(var j=0;j<newArr.length;j++){
      if(array[i]===newArr[j]){
        bool=false;
      }
    }
    if(bool){
      newArr[newArr.length]=array[i];
    }
  }
  return newArr;
}
</script>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • js如何判斷用戶是在PC端和還是移動(dòng)端訪問

    js如何判斷用戶是在PC端和還是移動(dòng)端訪問

    這篇文章主要介紹了js如何判斷用戶是在PC端和還是移動(dòng)端訪問,需要的朋友可以參考下
    2014-04-04
  • 使用JavaScript平移和縮放圖像的示例代碼

    使用JavaScript平移和縮放圖像的示例代碼

    平移和縮放是查看圖像時(shí)常用的功能,我們可以放大圖像以查看更多細(xì)節(jié),進(jìn)行圖像編輯,Dynamsoft Document Viewer是一個(gè)用于此目的的SDK,它為文檔圖像提供了一組查看器,在本文中,我們將演示如何使用它來平移和縮放圖像,需要的朋友可以參考下
    2024-08-08
  • JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解

    JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解

    這篇文章主要介紹了JS實(shí)現(xiàn)圖片懶加載(lazyload)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 深入理解JavaScript單體內(nèi)置對(duì)象

    深入理解JavaScript單體內(nèi)置對(duì)象

    下面小編就為大家?guī)硪黄狫avaScript單體內(nèi)置對(duì)象。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球

    js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)的小球,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 網(wǎng)頁(yè)前臺(tái)通過js非法字符過濾代碼(罵人的話等等)

    網(wǎng)頁(yè)前臺(tái)通過js非法字符過濾代碼(罵人的話等等)

    項(xiàng)目中如果需要過濾非法字符(你不想用戶輸入的任何字符)的話在前臺(tái)可以使用js過濾,同樣可以提高用戶體驗(yàn),以前都是后臺(tái)過濾,這樣雙重過濾用戶體驗(yàn)更好。
    2010-05-05
  • php 中序列化和json使用介紹

    php 中序列化和json使用介紹

    序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可保持或可傳輸?shù)母袷降倪^程。與序列化相對(duì)的是反序列化,它將流轉(zhuǎn)換為對(duì)象。這兩個(gè)過程結(jié)合起來,可以輕松地存儲(chǔ)和傳輸數(shù)據(jù)
    2013-07-07
  • Javascript實(shí)現(xiàn)代碼折疊功能

    Javascript實(shí)現(xiàn)代碼折疊功能

    代碼折疊起來,使整段程序縮成一行,看起來清爽了許多。大家在使用Visual Studio環(huán)境進(jìn)行開發(fā)時(shí),可以把某個(gè)類或某個(gè)函數(shù)折疊起來,在很多網(wǎng)頁(yè)上也有類似的功能,那到底是如何實(shí)現(xiàn)的呢?其實(shí)很簡(jiǎn)單,只要通過JavaScript就可以實(shí)現(xiàn)。
    2016-08-08
  • 在線編輯器中換行與內(nèi)容自動(dòng)提取

    在線編輯器中換行與內(nèi)容自動(dòng)提取

    這幾天在寫在線編輯器,碰到個(gè)問題,當(dāng)使用回車換行時(shí)不是你希望的<br>而是<p></p>對(duì)或是<div></div>對(duì)。使用google搜索,在網(wǎng)上找不到滿意的答案。
    2009-04-04
  • JS打開層/關(guān)閉層/移動(dòng)層動(dòng)畫效果的實(shí)例代碼

    JS打開層/關(guān)閉層/移動(dòng)層動(dòng)畫效果的實(shí)例代碼

    JS打開層/關(guān)閉層/移動(dòng)層動(dòng)畫效果的實(shí)例代碼,需要的朋友可以參考一下
    2013-05-05

最新評(píng)論