上週沒事的時候把自己對陣列方面的理解做了一下總結,知識點不深,方便以後的查閱。
1.物件繼承方法
// 物件繼承方法tostring() tolocalstring() valueof()//tostring()返回的結果是去掉陣列兩邊的"[" "]",tolocalstring()和前者相同,而valueof()返回的則是陣列本身
var arr = [1,2,3];
console.log(arr.tostring()) //1,2,3
console.log(arr.tolocalestring()) //1,2,3
console.log(arr.valueof()) //[1,2,3]
2.陣列轉換方法
//陣列轉換方法
var arr = [1,2,3];
console.log(arr.join());
//1,2,3
console.log(arr.join(""));//
123console.log(arr.join("-"));//
1-2-3
console.log(arr.join(undefined));//
1,2,3(如果引數是undefined,標準瀏覽器返回逗號隔開的內容,ie7返回的是undefined的內容)
3.棧和佇列方法
//棧和佇列方法 pop() push() shift() unshift()
//棧是一種lifo last-in-first-out 後進先出的資料結構。也就是說最新新增的項最早被移除。
//佇列是一種fifo first-in-first-out 先進先出。佇列在列表的末端新增項,在列表的前端刪除項。
//pop() push() shift() unshift() 都會改變陣列的長度,因此會改變原始陣列。
var a =;
console.log(a,a.push(1));//
[1],1
console.log(a,a.push('wbin'));//
[1,'wbin'],2
var d =;
console.log(d.shift())
//undefined
4.陣列排序方法
//陣列排序方法 sort(),reverse()兩個方法都會改變原始陣列
var arr = [1,2,3,4,5];
console.log(arr.reverse())
//陣列反轉
console.log(arr);//
改變了原始陣列
//sort() 如果包含undefined,則會把undefined放在最後面
var arr1 = [1,undefined,2,undefined,3];
arr1.sort()
console.log(arr1)
//[1,2,3undefined,undefined];
//陣列裡面有字串和數字比較的時候,返回nan,也就是false.所以會出現在數字前面
var arr2 = ['wbin',3,50,3];
arr2.sort(
function
(x,y)
else
if(x>y)
else
})console.log(arr2)
可以利用sort()來隨機排序乙個陣列
functioncompare()
var h = [1,2,3,4,5];
console.log(h.sort(compare));
5.concat()
//concat()方法基於當前陣列中的所有項建立乙個新陣列,先建立當前陣列乙個副本,然後將接收到的引數新增到這個副本的末尾,最後返回新構建的陣列。所以,不影響原陣列
//如果不提供引數,concat()方法返回當前陣列的乙個淺拷貝。也就是說如果陣列成員包括復合型別(比如物件),則新陣列拷貝的是該值得引用。
var i = [1,2];
var ii =i.concat();
console.log(i,ii);
i[0] = 0;
console.log(i,ii)
var j = [[1,2]];
var jj =j.concat();
console.log(j,jj);
j[0][0] = "wbin";
console.log(j,jj)
var aa =
var bb =
var r =array.prototype.concat.call(aa,bb)
console.log(r)
6.reduce()
var arr1 = [1,32,3,4,5];//求和
var sum = arr1.reduce(function
(x,y))
console.log(sum)
//45
//帶有原始資料的求和
var sum1 = arr1.reduce(function
(x,y),-5)
console.log(sum1)
//40
//找出長度最長的陣列元素
var arr2 = ['aaa',1,222,3,'wbin'];
var findlongest = arr2.reduce(function
(pre,cur))
console.log(findlongest)
//wbin
//實現二維陣列扁平化
var matrix =[
[1,2],
[3,4],
[5,6]
]var flatten = matrix.reduce(function
(pre,cur))
console.log(flatten)
//[1,2,3,4,5,6]
7. 陣列迭代方法,兩個引數,乙個是要在每一項上執行的函式和執行該函式的作用域物件
var arr2 = [1,2,3];var r2 = arr2.map(function
(item,index,arr))
console.log(r2)
//[1,4,9]
var arr3 = ['a','b','c'];
var r3 = [1,2].map(function
(item,index,arr),arr3)
console.log(r3)
//['b','b']
//利用map方法獲得物件陣列中的特性屬性值
let arr4 =[,,
]var r4 = arr4.map(function
(item,index))
console.log(r4)
//['[email protected]','[email protected]','[email protected]']
//對字串使用該方法,返回的是乙個分開的陣列
var str = "abc";
var r5 = array.prototype.map.call(str,function
(item,index))
8.filter()
1//filter()會跳過稀疏陣列中缺少的元素,它的返回值總是稠密的
2var arr6 = [1,,2,,,3,,,,,,4];
3var r6 = arr6.filter(function
())6 console.log(r6)//
[1,2,3,4]
9.some() 和 every()
//some() 方法對陣列中的每一項執行給定函式,如果該函式對任一項返回true,則返回true
var arr7 = [1,2,3];
var r7 = arr7.some(function
(ele))
console.log(r7)
//true
//空陣列上呼叫some返回的是false
console.log(.some(function(){}))//
false
//every()和some相反
改變原陣列的方法有七種
四種棧和佇列方法 unshift() shift() pop() push()
兩個排序方法 reverse() sort()
乙個刪除方法 splice()
還遺漏一些其他的方法,以後補充。
陣列方法總結
js的裡面的陣列方法有很多,平時開發中常用的如foreach map filter等等,接下來是對陣列方法的一些使用和總結,方便日後查閱。var a 1,2,3,4 console.log a.join 1,2,3,4 console.log a.join 1234 console.log a.jo...
陣列方法總結
陣列方法 foreach mapfilter some every indexof lastindexof reduce reduceright splice join sort reverse push popunshift shift concat 1.foreach foreach是array...
JS陣列方法總結
1 轉換方法 tostring 返回陣列的字串表示,每個值的字串表示拼接成乙個字串,中間以逗號隔開。tolocalestring valueof var colors red blue yellow console.log colors.tolocalestring red,blue,yellow ...