最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

全面總結(jié)Javascript對(duì)數(shù)組對(duì)象的各種操作

 更新時(shí)間:2017年01月22日 15:36:18   投稿:daisy  
最近有個(gè)同事問了個(gè)問題,關(guān)于數(shù)組,對(duì)象和類數(shù)組的,仔細(xì)說起來都是基礎(chǔ),其實(shí)都沒什么好講的,不過看到還是有很多朋友有些迷糊,決定還是寫出來吧,下面這篇文章主要給大家介紹了Javascript對(duì)數(shù)組對(duì)象的各種操作,需要的朋友可以參考借鑒。

數(shù)組

數(shù)組定義:簡(jiǎn)而言之就是一組有序的數(shù)據(jù)集合,其索引為從0開始且自然增長(zhǎng)的整數(shù),其元素值可以是任何js數(shù)據(jù)!并且包含一個(gè)名為length的屬性,該屬性表示數(shù)組元素的個(gè)數(shù)!

一、定義數(shù)組,有三種定義方式:

方式一:

var arr=new Array(); 
arr[0]=“11”; 
arr[1]=“22”; 
arr[2]=“33”; 

方式二:

var arr=new Array(“11”,“22”,“33”); 

方式三:

var arr=[“11”,“22”,“33”]; 

二、數(shù)組的length屬性,可以獲取數(shù)組的長(zhǎng)度,也可以截取,清空數(shù)組,如果設(shè)置的值比其當(dāng)前值小,數(shù)組將被截?cái)?,其尾部的元素將丟失。

如果設(shè)置的值比它的當(dāng)前值大,數(shù)組的長(zhǎng)度將增大,新的元素被添加到數(shù)組的尾部,它們的值為 undefined:

var arr=[“11″,”22″,”33″]; 
arr.length //3,返回?cái)?shù)組的長(zhǎng)度 
arr.length = 2 //['11','22'],截取數(shù)組前2個(gè) 
arr.length = 5 //['11','22',undefined,undefined,undefined],自動(dòng)添加undefined 
arr.length = 0 //[],清空數(shù)組 

三、遍歷數(shù)組:

var arr=[“11”,“22”,“33”]; 
//for循環(huán) 
for(var i=0;i<arr.length;i++){ 
 console.log(i) 
} 
//for in循環(huán) 
for( i in arr ){ 
 console.log(arr[i]) 
} 
//forEach循環(huán) 
arr.forEach(function(i){ 
 console.log(i) 
}) 

四、數(shù)組的添加和刪除:

push() 向數(shù)組末尾增加一個(gè)或多個(gè)元素,其返回值為增加元素后數(shù)組的長(zhǎng)度。

var arr=[1,2,3]; 
arr.push(4) 
console.log(arr) //[1,2,3,4] 
arr.push(5,6,7) 
console.log(arr) //[1,2,3,4,5,6,7] 

unshift() 向數(shù)組開頭增加一個(gè)或多個(gè)元素,其返回值為增加元素后數(shù)組的長(zhǎng)度。

var arr=[1,2,3]; 
arr.unshift(4) 
console.log(arr) //[4,1,2,3] 
arr.unshift(5,6,7) 
console.log(arr) //[5,6,7,1,2,3,4] 

pop() 從數(shù)組的末尾開始刪除,返回值為被刪除元素的值。

var arr=[1,2,3]; 
arr.pop() 
console.log(arr) //[1,2] 

shift() 從數(shù)組的開頭開始刪除,返回值為被刪除元素的值。

var arr=[1,2,3]; 
arr.shift() 
console.log(arr) //[2,3] 

五、join() 將數(shù)組通過指定的分隔符進(jìn)行分隔,返回值為string類型,不改變?cè)瓟?shù)組:

var arr=[1,2,3,4]; 
arr.join(‘-‘) //”1-2-3-4″ 
arr.join(”) //”1234″ 
arr.join(‘ ‘) //”1 2 3 4″ 

六、sort() 數(shù)組排序:

var arr=[2,8,3,4,12,56]; 
//從小到大排序 
arr.sort(function(a,b){ 
 return a-b; 
}); 
//從大到小排序 
arr.sort(function(a,b){ 
 return b-a; 
}); 
//隨機(jī)排序 
arr.sort(function(a,b){ 
 return Math.random() – 0.5 
}) 

七、reverse() 將數(shù)組逆序:

var arr=[2,8,3,4,12,56]; 
arr.reverse() //[56, 12, 4, 3, 8, 2] 

八、獲取數(shù)組中最大和最小的數(shù)字:

var arr = [5, 458 , 120 , -215 , 228 , 400]; 
var max = Math.max.apply(Math, arr); 
var min = Math.min.apply(Math, arr); 

九、slice() 可從已有的數(shù)組中返回選定的元素,不改變?cè)瓟?shù)組

一個(gè)參數(shù),從start下標(biāo)處開始直到結(jié)尾處。

有兩個(gè)參數(shù),從 start下標(biāo)到end下標(biāo)(不包括該元素)處的數(shù)組元素:

var arr=[2,8,3,4,12,56]; 
arr.slice(1) //[8, 3, 4, 12, 56] 
arr.slice(1,5) //[8, 3, 4, 12] 

十、splice()

一個(gè)參數(shù),刪除從start下標(biāo)處開始直到結(jié)尾處。返回刪除的數(shù),這個(gè)直接修改原數(shù)組。

有兩個(gè)參數(shù),刪除從start下標(biāo)到end下標(biāo)處的數(shù)組元素,返回刪除的數(shù),這個(gè)直接修改原數(shù)組。

有三個(gè)參數(shù),從start下標(biāo)到end下標(biāo)的元素替換成第三個(gè)參數(shù),如果前兩個(gè)數(shù)相同,則是替換,這個(gè)直接修改原數(shù)組:

var arr=[2,8,3,4,12,56]; 
//從下標(biāo)2的位置開始截取 
console.log(arr.splice(2)) // [3, 4, 12, 56] 
console.log(arr)  // [2, 8] 
 
var arr=[2,8,3,4,12,56]; 
//刪除下標(biāo)1到5的位置 
console.log(arr.splice(1,5)) //[8, 3, 4, 12, 56] 
console.log(arr)  // [2] 
 
var arr=[2,8,3,4,12,56]; 
//替換下標(biāo)1的位置 
console.log(arr.splice(1,1,'qqq')) //[8] 
console.log(arr) //[2, “qqq”, 3, 4, 12, 56] 
 
var arr=[2,8,3,4,12,56]; 
//把下標(biāo)1到3的位置刪除,并插入qqq 
console.log(arr.splice(1,3,'qqq')) //[8, 3, 4] 
console.log(arr) // [2, “qqq”, 12, 56] 

十一、concat() 可以將兩個(gè)數(shù)組合并成一個(gè)新數(shù)組返回:

var arr1=[1,2,3,4,5]; 
var arr2=[6,7]; 
var arr3=arr1.concat(arr2); 
alert(arr1);// [1,2,3,4,5] 
alert(arr2);// [6,7] 
alert(arr3);// [1,2,3,4,5,6,7] 

十二、數(shù)組去重:

方法一:

function removeRepeat(arr){ 
 return arr.filter(function(elem, pos) { 
  return arr.indexOf(elem) == pos; 
 }); 
} 

方法二:

function removeRepeat(a){ 
 var arr=[]; 
 for(var i=0;i<a.length;i++){ 
  if(arr.indexOf(a[i]) === -1){ 
   arr.push(a[i]); 
  } 
 } 
 return arr; 
} 

方法三:

function removeRepeat(a){ 
 var arr = []; 
 a.forEach(function(i){ 
   if(arr.indexOf(i) === -1){ 
   arr.push(i); 
  } 
 }); 
 return arr 
} 

方法四:

function removeRepeat(arrs){ 
 var newArr = []; 
 var hash = {}; 
 for(var i=0;i<arrs.length;i++){ 
  var key = typeof(arrs[i])+arrs[i]; 
  if(hash[key] !==1){ 
   newArr.push(arrs[i]); 
   hash[key] =1; 
  };  
 }; 
 return newArr; 
} 

十二、prototype 屬性,直接對(duì)數(shù)組的原型進(jìn)行更改或者添加功能:

//比如我們給數(shù)組添加一個(gè)求和的方法 
Array.prototype.sum= function(){ 
 var n = 0; 
 this.forEach(function(i){ 
  n+=i; 
 }); 
 return n; 
} 
 
var arr = [1,2,3,4] 
alert(arr.sum()) //10

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • 使用Docker搭建Jackett的詳細(xì)教程

    使用Docker搭建Jackett的詳細(xì)教程

    Jackett是一個(gè)開源的種子搜索器,它提供了一個(gè)統(tǒng)一的API,可以讓你通過一個(gè)界面來搜索和下載種子文件,這篇文章主要給大家介紹了關(guān)于使用Docker搭建Jackett的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Javascript 構(gòu)造函數(shù),公有,私有特權(quán)和靜態(tài)成員定義方法

    Javascript 構(gòu)造函數(shù),公有,私有特權(quán)和靜態(tài)成員定義方法

    其中公有方法聲明的部分采用的兩種方式,在實(shí)際應(yīng)用中一般采取一種方式就可以了,如果兩種方式都要采用的話,應(yīng)注意順序,防止前面寫的方法被清空或覆蓋。
    2009-11-11
  • JavaScript canvas仿代碼流瀑布

    JavaScript canvas仿代碼流瀑布

    這篇文章主要為大家詳細(xì)介紹了JavaScript canvas仿代碼流瀑布,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • JavaScript 拷貝賦值的具體使用

    JavaScript 拷貝賦值的具體使用

    在JavaScript編程中,經(jīng)常會(huì)涉及到對(duì)象賦值和拷貝的操作,本文主要介紹了JavaScript 拷貝賦值的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • JSON無限折疊菜單編寫實(shí)例

    JSON無限折疊菜單編寫實(shí)例

    這篇文章主要介紹了JSON無限折疊菜單編寫實(shí)例,有需要的朋友可以參考一下
    2013-12-12
  • 原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果

    原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果

    本文主要分享了原生js實(shí)現(xiàn)電商側(cè)邊導(dǎo)航效果的示例代碼以及原理分析。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • JS實(shí)現(xiàn)密碼框效果

    JS實(shí)現(xiàn)密碼框效果

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)密碼框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 各瀏覽器對(duì)click方法的支持差異小結(jié)

    各瀏覽器對(duì)click方法的支持差異小結(jié)

    click方法可以用來模擬用戶點(diǎn)擊。有的瀏覽器中所有元素都具有click方法,有的瀏覽器則沒有。
    2011-07-07
  • js實(shí)現(xiàn)特定位取反原理及示例

    js實(shí)現(xiàn)特定位取反原理及示例

    循環(huán)輸入每組兩個(gè)數(shù)hex和n(0<=n<31),hex是一個(gè)16進(jìn)制的數(shù)字,我們要做的是將hex的第n位取反,然后以16進(jìn)制的形式輸出對(duì)應(yīng)的結(jié)果
    2014-06-06
  • JavaScript在for循環(huán)中綁定事件解決事件參數(shù)不同的情況

    JavaScript在for循環(huán)中綁定事件解決事件參數(shù)不同的情況

    響應(yīng)一堆相似的事件,但是每個(gè)事件的參數(shù)都不同,在這種情況下就可以使用JavaScript 在for循環(huán)中綁定事件,下面有個(gè)不錯(cuò)的示例,大家可以參考下
    2014-01-01

最新評(píng)論

清水县| 岳阳县| 扎赉特旗| 郁南县| 新巴尔虎左旗| 五大连池市| 日土县| 泗洪县| 历史| 延庆县| 黄浦区| 大化| 乌什县| 连江县| 铜陵市| 霍城县| 庆云县| 阜城县| 东阿县| 当涂县| 揭阳市| 吉安县| 吴川市| 新疆| 台南市| 义乌市| 南召县| 芦溪县| 南乐县| 五大连池市| 呼图壁县| 佛冈县| 平昌县| 建瓯市| 阜南县| 长治市| 宕昌县| 南安市| 秦安县| 太湖县| 天津市|