day04數(shù)組

1.創(chuàng)建數(shù)組的方式

1.1字面量
var arr =[1,2,3]
1.2構(gòu)造函數(shù)(了解)
var arr = new Array();

2.檢測數(shù)組

if(arr instanceof Array){}
if(Array.isArray(arr)){}

3.數(shù)組的方法

  • 3.1.1增加(改變數(shù)組的內(nèi)容)

可以傳單個值,也可以傳數(shù)組

  • push() //從尾部添加
var arr =[1,2,3];
console.log(arr.push());    //3
var arr = [1,2,3];
arr.push(4);
console.log(arr);    //1,2,3,4
  • unshift() // 從頭部添加
var arr = [1,2,3];
arr.unshift(0);
alert(arr);  //0,1,2,3
  • 3.1.2增加 concat()(不改變原來數(shù)組內(nèi)容)

concat(value|[arr]) 本方法可以傳單個值,也可以傳數(shù)組

var arr = [1,2,3];
var b = arr.concat(4);
console.log(arr); //1,2,3
console.log(b); //1,2,3,4
var arr = [1,2,3];
var b = arr.concat(4);
console.log(arr); //1,2,3
console.log(b); //1,2,3,4
  • 3.2刪除(改變)

不接收參數(shù)

  • pop() //從尾部刪除
var arr = [1,2,3];
alert(arr.pop());  //3
alert(arr)  //1,2
  • shift() // 從頭部刪除
var arr = [1,2,3];
alert(arr.shift());  //1
alert(arr)  //2,3
  • 3.3修改,指定三個參數(shù)arrObject.splice(index,howmany,item)
//指定三個參數(shù):起始位置,刪除的項數(shù),插入的數(shù)量
var arr = [1,2,3,4,5];
arr.splice(0,2,6,7);
alert(arr); //6,7,4,5
  • 3.4查詢
//arr[index] 查詢對應下標的值
var arr=[1,2,3];
console.log(arr[0]);  //1;
//indexOf(value)  查詢對應值的下標
var arr=[1,2,3,4];
console.log(arr.indexOf(1)); //0
//如果沒有對應的值,則返回-1
//arrayObject.slice(start,end)
//1個參數(shù) 
var  arr=[1,2,3,4];
var b=arr.slice(1);
console.log(b);  //2,3,4
//2個參數(shù)
var c = arr.slice(1,3);
console.log(c); //2,3
  • 3.5splice(改變原來數(shù)組) 包含增,刪,改
//語法
arrayObject.splice(index,howmany,item1,.....,itemX)
a.增加,指定三個參數(shù)splice(index,howmany,item)
//splice(index,howmany,item)
//傳3個參數(shù)表示:起始位置赞哗、0(刪除的項數(shù))、插入的項在index之后
var arr= [1,2,3,4,5];
arr.splice(2,0,"red","green");  //在第2位之后,增加2個元素
console.log(arr); //[1,2,"red","green",3,4,5]

b.刪除,指定兩個參數(shù)splice(index,howmany)
//splice(index,howmany)
//傳2個參數(shù)表示:起始位置和刪除的個數(shù)
var arr = [1,2,3,4,5];
arr.splice(0,2);  //從0位開始,刪除2個
alert(arr);  //[3,4,5]
c.修改,指定三個參數(shù)splice(index,howmany,item)
//指定三個參數(shù):起始位置,刪除的項數(shù),插入的數(shù)量
var arr = [1,2,3,4,5];
arr.splice(0,2,6,7);
alert(arr); //6,7,4,5
  • 3.6join
//通過指定分隔符,將數(shù)組所有元素放入字符串
arrayObject.join(separator)
var arr=["red","green","yellow"];
var a = arr.join();    //red,green,yellow
var b=  arr.join("");  //redgreenyellow
var c=arr.join(".");  //red.green.yello
alert(c);
  • 3.7排序
function compare(a,b){
        if(a<b){
            return -1;
        }else if(a>b){
            return 1;
        }else{
            return 0;
        }
 }

var arr=[1,3,78,12,4];
arr.sort(compare);
console.log(arr);  //1,3,4,12,78
arr.reverse();
console.log(arr);  //78,12,4,3,1
  • 3.8迭代方法

  • 3.8.1 every():對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對每一項返回true,則返回true
var numbers = [1,2,3,4,5];
var everyResult = numbers.every(function(item,index,array){
    return(item>2)
});
alert(everyResult);  //false
  • 3.8.2 some():對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對任意一項返回true,則返回true
var numbers = [1,2,3,4,5];
var someResult = numbers.some(function(item,index,array){
        return(item>2)
});
alert(someResult);  //true
  • 3.8.3 filter()對數(shù)組中的每一項運行給定函數(shù),返回該函數(shù)會返回true的項組成的數(shù)組
var numbers = [1,2,3,4,5];
var filterResult = numbers.filter(function(item,index,array){
          return (item>2);
});
alert(filterResult);  //[3,4,5]
  • 3.8.4 map()對數(shù)組中的每一項運行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的函數(shù)芝发。
var numbers = [1,2,3,4,5];
var mapResult = numbers.map(function(item,index,array){
        return item*2;
});
alert(mapResult);  //2,4,6,8,10
  • 3.8.5 forEach()對數(shù)組中的每一項運行給定函數(shù)掺栅。這個方法沒有返回值
var numbers = [1,2,3,4,5];
    numbers.forEach(function(item,index,array){
       console.log(item);
});
  • 3.9歸并(求和)方法

reduce()和reduceRight()這兩個方法都會迭代數(shù)組的所有項,然后構(gòu)建一個最終返回的值鳞贷。
區(qū)別:
前者從頭開始遍歷
后者從后開始遍歷

 var numbers = [1,2,3,4,5];
 var sum = numbers.reduce(function(prev,cur,index,array){
        return prev+cur;
 });
 alert(sum);  //15
 var numbers = [1,2,3,4,5];
 var sum = numbers.reduceRight(function(prev,cur,index,array){
        return prev+cur;
 });
 alert(sum);  //15
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末步做,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子跷睦,更是在濱河造成了極大的恐慌功炮,老刑警劉巖溅潜,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異薪伏,居然都是意外死亡滚澜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門毅该,熙熙樓的掌柜王于貴愁眉苦臉地迎上來博秫,“玉大人,你說我怎么就攤上這事眶掌〉灿” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵朴爬,是天一觀的道長即寒。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么母赵? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任逸爵,我火速辦了婚禮,結(jié)果婚禮上凹嘲,老公的妹妹穿的比我還像新娘师倔。我一直安慰自己,他們只是感情好周蹭,可當我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布趋艘。 她就那樣靜靜地躺著,像睡著了一般凶朗。 火紅的嫁衣襯著肌膚如雪瓷胧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天棚愤,我揣著相機與錄音搓萧,去河邊找鬼。 笑死宛畦,一個胖子當著我的面吹牛瘸洛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播次和,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼货矮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斯够?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤喧锦,失蹤者是張志新(化名)和其女友劉穎读规,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燃少,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡束亏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阵具。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碍遍。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖阳液,靈堂內(nèi)的尸體忽然破棺而出怕敬,到底是詐尸還是另有隱情,我是刑警寧澤帘皿,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布东跪,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虽填。R本人自食惡果不足惜丁恭,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斋日。 院中可真熱鬧牲览,春花似錦、人聲如沸恶守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熬的。三九已至痊硕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間押框,已是汗流浹背岔绸。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留橡伞,地道東北人盒揉。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像兑徘,于是被迫代替她去往敵國和親刚盈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,239評論 0 4
  • 由于最近都在freecodecamp上刷代碼挂脑,運用了很多JavaScript數(shù)組的方法藕漱,因此做了一份關(guān)于JavaS...
    2bc5f46e925b閱讀 1,984評論 0 16
  • 創(chuàng)建數(shù)組 使用Array構(gòu)造函數(shù) 使用數(shù)組字面量表示法 數(shù)組屬性 length表示數(shù)組的長度 length屬性并不...
    Dreammin_chen閱讀 1,442評論 9 19
  • 第一章: JS簡介 從當初簡單的語言,變成了現(xiàn)在能夠處理復雜計算和交互崭闲,擁有閉包肋联、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,679評論 0 6
  • 第5章 引用類型 引用類型的值(對象)是引用類型的一個示例刁俭。在ECMAScript 中橄仍,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用...
    力氣強閱讀 720評論 0 0