前言:
數組和對象一樣是數值的集合,不同的是每一個數值有一個名字(對象),而對象中每個數值都有一個下標。
三江侗網站建設公司成都創新互聯公司,三江侗網站設計制作,有大型網站制作公司豐富經驗。已為三江侗成百上千家提供企業網站建設服務。企業網站搭建\外貿營銷網站建設要多少錢,請找那個售后服務好的三江侗做網站的公司定做!
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd"];
alert(a);
a.sort();
alert(a);
我們可以看到,數組轉為字符串之后,看不出有什么變化,因此這里引入判別書否為數組的方法。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd"];
var test = a instanceof Array;
alert("你是數組嗎?"+test);
var b = a.join();
test = b instanceof Array;
alert("你是數組嗎?"+test);
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd"];
a.reverse();
alert(a);
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd"];
var b = ["red","ant","rd_ant"];
var c = a.concat(b);
alert(c);
也可以隨便拼接
var c = a.concat(b,a,b,b);
alert(c);
數組的toString(),valueOf()方法可以實現數組以字符串的形式輸出,但存在差異。
toString()是將所有內容轉為字符串,
valueOf()是取出對象內部的值,不進行類型轉換。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd"];
var b = a.toString();
var test = b instanceof Array;
alert("b你是數組嗎?"+test);
var c = a.valueOf();
test = c instanceof Array;
alert("c你是數組嗎?" + test);
var d = "大,家,好,我,是,Red, Ant";
var e = d.split(",");
alert(e);
test = e instanceof Array;
alert("e是數組嗎?"+test);
這種方法不會修改原數組,只會返回一個新的數組。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.slice(5);
var c = a.slice(4,7);
alert(b);
alert(c);
數組元素的刪除有三種方法:pop(),shift(),splice()。
Pop():值得是刪除最后一個元素,并返回該元素的值。
Shift():移除最前一個元素并返回該元素,數組中的元素自動前移
Splice(位置,數量):刪除指定位置開始的指定長度的元素,數組的形式返回所移除的數組。
Splice():還可以用于數組元素的插入。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.pop();
alert("刪除最后一個元素得到的數組為:"+a);
alert("被刪除的元素是:"+b);
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.shift();
alert("刪除第一個元素得到的數組為:"+a);
alert("被刪除的元素是:"+b);
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.splice(3,4);
alert("刪除后的數組為:"+a);
alert("得到被刪除的數組:"+b);
Splice();數組的插入
同樣splice(a,b,....):
a同樣是操作的位置,b我們設置為0這樣就不會刪除數組,后面放置一系列的要插入的元素即可。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
a.splice(-3,0,"red","ant","rd_ant");
alert("從倒數第三位插入后的數組為:"+a);
splice();元素的插入方法也是數組元素的添加。
Push是我們最常見的數組元素添加方法,是將一個或多個新元素添加到數組的結尾,并返回新數組的長度。
Unshift()與shift()對應的方法,將1一個或多個元素添加到數組的開始,數組中的元素自動后移,返回新的數組長度。與push相對應。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.push("red","ant","red_ant");
alert("結尾處push之后的數組為"+a);
alert("當前數組的長度為"+b);
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.unshift("red","ant","red_ant");
alert("開始位置unshift之后的數組為"+a);
alert("當前數組的長度為"+b);
indexOf():接收兩個參數要查找的項和起點位置的索引(可選)
lastIndexOf():同樣不過,該方法是從后往前查找。
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.indexOf("test");
var c = a.lastIndexOf(5);
alert("位置"+b);
alert("位置"+c);
數組是否包含某元素:Jquery寫法
var a = [1,2,3,4,5,"red_ant"];//=15
var index = $.inArray("red_ant", a);
if(index > 0){
alert("好,告訴我你的位置"+ index);
}else{
alert("不存在該元素");
}
var a = new Array(10);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var d = "";
a.forEach(function(b, c, a){
d += "索引"+c+"元素"+b+"http://"
})
alert(d);
Map()對數組中的每一項運行給定函數,返回函數調用的結果組成的數組。
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.map(function(item){
return item+"Red_Ant";
})
alert(b)
數組中的每一個元素給定函數,返回滿足條件組成的數組。
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.filter(function(i, inxdex){
if(i == "test" || i == "abcd"){
return false;
}
return i;
})
alert(b);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.every(function(i){
return i != "test";
})
alert(b);
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.every(function(i){
return i != "asdadadadas";
})
alert(b);
![](/upload/otherpic67/ed6409fd4d4d86e5b7e5170649f5de44.png)
var a = [1,2,3,4,8,5,"test",false,true,"abcd","BBCD"];
var b = a.some(function(x){
return x == 3;
})
alert(b);
Reduce()從數組的第一項開始遍歷到最后,reduceRight()則倒序。
他們都可以接受4個參數:前一個值,當前值,項的索引,數組對象
我們可以利用這個求和等
var a = [1,2,3,4,5];//=15
var b = a.reduce(function(pre,now,index,arrays){
return pre + now;
})
alert(b);
本文標題:一個實例全析js數組(17)
瀏覽地址:http://vcdvsql.cn/article34/jhgose.html
成都網站建設公司_創新互聯,為您提供企業建站、網站設計、搜索引擎優化、定制開發、網站收錄、網站改版
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯