首頁  >  文章  >  web前端  >  淺談Javascript中陣列物件的常用屬性

淺談Javascript中陣列物件的常用屬性

青灯夜游
青灯夜游轉載
2018-10-12 16:46:122337瀏覽

本文跟大家介紹Javascript中陣列物件的常用屬性 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

concat() 

用於連接兩個或多個陣列。此方法不會改變現有的數組,而只會傳回被連接數組的一個副本。

var a = ["aa","ccc"];
var b = ["vv","mm"];
var c = ["123"];
var d = a.contac(b,c);  ==> ["aa","ccc","vv","mm","123"]

every()

用於偵測陣列所有元素是否都符合指定條件(透過函數提供)。

every() 方法使用指定函數來偵測陣列中的所有元素:

  • #如果陣列中偵測到有一個元素不滿足,則整個表達式會傳回false ,且剩餘的元素不會再進行偵測。

  • 如果所有元素都符合條件,則傳回 true。

注意: every() 不會對空數組進行偵測。

注意: every() 不會改變原始陣列。

var ary = [3,4,5,6,7];
var result = ary.every(function(item){   
     return item>5;          
}) ==> false

filter()

建立一個新的數組,新數組中的元素是透過檢查指定數組中符合條件的所有元素。

注意: filter() 不會對空數組進行偵測。

注意: filter() 不會改變原始陣列。

var ary = [2,3,5,6,7];
var result = ary.filter(function(item){   
     return item>3;
}); ==> [5,6,7]

forEach()

#用於呼叫陣列的每個元素,並將元素傳遞給回呼函數。

var ary = [3,4,5,6,7];
var result = ary.forEach(function(item,index){
   console.log(item,index)         
});

 includes()

#用來判斷一個陣列是否包含一個指定的值,如果是傳回 true,否則false。

arr.includes(searchElement)
arr.includes(searchElement, fromIndex)
// searchElement   要查找的元素
// fromIndex  开始查找的位置,默认为0;如果fromIndex 大于等于数组长度 ,则返回 false ,该数组不会被搜索
//如果 fromIndex 为负值,计算出的索引将作为开始搜索searchElement的位置。如果计算出的索引小于 0,则整个数组都会被搜索。
var arr = ['a', 'b', 'c'];
arr.includes('a'); // true
arr.includes('a', -100); // true

indexOf()

#可傳回陣列中某個指定的元素位置。如果在陣列中沒找到指定元素則傳回 -1。

var num = [1,2,3,4,'Apple'];
var a = num.indexOf("Apple");  //4

lastIndexOf()

可傳回一個指定的元素在陣列中最後出現的位置,在一個陣列中的指定位置從後向前搜尋。如果要檢索的元素沒有出現,則該方法傳回 -1。

var num = [1,2,3,4,'Apple'];
var a = num.lastIndexOf("Apple");  //4

isArray()

#用於判斷物件是否為陣列。如果物件是數組傳回 true,否則傳回 false。

var item = [];
Array.isArray(item);  //true

join()

用於將陣列中的所有元素轉換一個字串。元素是透過指定的分隔符號進行分隔的。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();  //Banana,Orange,Apple,Mango
var energy = fruits.join("|");  //Banana|Orange|Apple|Mango

map()

傳回一個新數組,數組中的元素為原始數組元素呼叫函數處理後的值。

  map() 方法依照原始陣列元素順序依序處理元素。

  注意: map() 不會對空數組進行偵測。

  注意: map() 不會改變原始陣列。

var ary= [4,9,16,25];
var result = ary.map(Math.sqrt); //result ==> 2,3,4,5

pop()

用於刪除陣列的最後一個元素並傳回刪除的元素。

var ary = [2,4,5,6];
var del = ary.pop(); //del ==> 6
// ary ==> 2,4,5

push()

可在陣列的末端新增一個或多個元素,並傳回新的長度。

var ary = ['aa','bb','cc'];
var result = ary.push('ss');  //result ==> 4
//ary ==> ['aa','bb','cc','ss']

shift()

用於刪除並傳回陣列的第一個元素。

var ary = [2,4,5,6];
var del = ary.shift(); //del ==> 2 
// ary ==> 4,5,6

unshift()

#可在陣列的開頭新增一個或更多元素,並傳回新的長度。

var ary = ['aa','bb','cc'];
var result = ary.unshift('ss');  //result ==> 4
//ary ==> ['ss','aa','bb','cc']

reduce()

#接收一個函數作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為一個值。

這個函數必須接收兩個參數,reduce()把結果繼續和序列的下一個元素做累積計算。

注意: reduce() 對於空數組是不會執行回呼函數的。

var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {    return x + y;
}); // 25

reduceRight() 方法的功能和reduce() 功能是一樣的,不同的是reduceRight() 從數組的末尾向前將數組中的數組項做累加。

reverse()

用於顛倒陣列中元素的順序。

var fruits = [1, 2, 3, 4];
fruits.reverse();  // [4,3,2,1]

slice()

可從現有的陣列中傳回選定的元素。

slice()方法可提取字串的某個部分,並以新的字串傳回被提取的部分。

注意: slice() 方法不會改變原始陣列。

傳回一個新的陣列,包含從 start 到 end (不包含該元素)的 arrayObject 中的元素。

array.slice(start, end)
//start 可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。
//end 可选。规定从何处结束选取。
//该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
//如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);   // ["Orange", "Lemon"]

some()

用于检测数组中的元素是否满足指定条件(函数提供)。

some() 方法会依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。

  • 如果没有满足条件的元素,则返回false。

var arr = [1, 3, 5, 7, 9];
arr.some(function (item) {    
    return item>4;
}); // true

sort()

用于对数组的元素进行排序。返回新的数组

排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。

注意:当数字是按字母顺序排列时"40"将排在"5"前面。

使用数字排序,你必须通过一个函数作为参数来调用。

函数指定数字是按照升序还是降序排列。

注意: 这种方法会改变原始数组!。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();   // Apple,Banana,Mango,Orange

//升序
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});  //1,5,10,25,40,100

//降序
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});  // 100,40,25,10,5,1

splice()

用于插入、删除或替换数组的元素。

注意:这种方法会改变原始数组!

array.splice(index,howmany,item1,.....,itemX)
//index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
//howmany      必需。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
//item1, ..., itemX  可选。要添加到数组的新元素

//如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
//移除数组的第三个元素,并在数组第三个位置添加新元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi"); //["Banana", "Orange", "Lemon","Kiwi","Mango"]

//从第三个位置开始删除数组后的两个元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2);  //["Banana", "Orange"]

toString()

可把数组转换为字符串,并返回结果。

注意: 数组中的元素之间用逗号分隔。

array.toString()

valueOf()

返回 Array 对象的原始值。

该原始值由 Array 对象派生的所有对象继承。

valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

注意: valueOf() 方法不会改变原数组。

//valueOf() 是数组对象的默认方法。
// fruits.valueOf()与 fruits返回值一样。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var v=fruits.valueOf();

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问JavaScript视频教程

相关推荐:

JavaScript图文教程

JavaScript在线手册

以上是淺談Javascript中陣列物件的常用屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除