JS數(shù)組方法

匯總:

join、slice、splice症杏、concat、push瑞信、pop厉颤、unshift、
shift凡简、forEach逼友、map、filter秤涩、every帜乞、some、sort筐眷、
reverse黎烈、indexOf、lastIndexOf匀谣、reduce照棋、reduceRight、
isArray武翎、toString烈炭、toLocaleString、valueOf

join:把數(shù)組轉(zhuǎn)換成字符串宝恶,默認以逗號形式拼接符隙。

var arg = [1,2,3,4,5];
console.log(arg.join());  // 1,2,3,4,5 
console.log(arg.join("|"));  // 1|2|3|4|5 
使用場合:一個H5頁面趴捅,需要收集用戶填寫的信息或者上傳的照片,后臺要求復(fù)選的內(nèi)容或者上傳的圖片以"|"拼接成霹疫,然后以某個字段傳值給后臺拱绑。

slice:對數(shù)組進行切割,并返回新的數(shù)組(不改變舊數(shù)組)丽蝎,可以傳參一或兩個參數(shù)猎拨,(左閉右開區(qū)間)。

var arg = [1,2,3,4];
console.log(arg.slice(0,2)) // [1,2]
console.log(arg) //[12,3,4] arg未改變

splice:對數(shù)組進行增刪改征峦,改變舊數(shù)組迟几,可以傳參多個參數(shù),參數(shù)1為起始位置(左閉右開區(qū)間)栏笆,參數(shù)2為要刪除的數(shù)量(0表示不刪除),參數(shù)3開始类腮,表示要添加的值。

splice是slice的進化版蛉加,能進行刪除蚜枢,也能進行修改,和增加
var arg = [1,2,3,4];
console.log(arg.splice(0)) //[1,2,3,4]  全部刪除
console.log(arg) // [] 空數(shù)組
arg.splice(0,0,1,2,3,4) // [1,2,3,4]  增加新內(nèi)容
arg.splice(arg.length,0,5) //[1,2,3,4,5] 在數(shù)組尾部增加新內(nèi)容
arg.splice(4,1,6)  //[1,2,3,4,6] 把5修改成6

concat:在數(shù)組尾部拼接新內(nèi)容针饥,并返回新的數(shù)組(不改變舊數(shù)組)

var arg = [1,2,3];
arg.concat(4,[5,6]); // [1,2,3,4,5,6]  返回新數(shù)組
console.log(arg) // [1,2,3]  不改變舊數(shù)組

push:在數(shù)組尾部添加內(nèi)容厂抽,改變舊數(shù)組
pop:移除數(shù)組尾部的內(nèi)容,改變舊數(shù)組
unshift:在數(shù)組頭部添加內(nèi)容丁眼,改變舊數(shù)組(跟push相反)
shift:移除數(shù)組頭部的內(nèi)容筷凤,改變舊數(shù)組(跟pop相反)

forEach:循環(huán)執(zhí)行數(shù)組的每個變量

var arg1= [1,2,3,4];
var arg2 = [
  {
    name:"roy",
    age:27
  }
]
var newArg1 = arg1.forEach(function(item,index,array){
  item*2
})
arg2.forEach(function(item,index,array){
  item.age*2
})
console.log(arg1);  //[1,2,3,4] 沒有改變,說明基本類型傳值苞七,只是復(fù)制了一個副本藐守,并沒有修改原數(shù)組;
console.log(newArg1);//undefined 說明沒有返回值蹂风;
console.log(arg2); //[{name:"roy",age:54}]卢厂,值發(fā)生改變,引用類型傳值(同一個指針地址)惠啄,二者都是共享同一個對象慎恒,所以發(fā)生了改變。

map:

var arg = [1,2,3,4];
var newArg = arg.map(function(item,index,array){
  return item*2 
});
console.log(arg);  //arg不改變
console.log(newArg);  //返回新數(shù)組
var arg2 = [
{
  name:"roy",
  age:21
}
];
var newArg2 = arg2.map(function(item,index,array){
  return item.age*2
})
console.log(newArg2);  //[{name:"roy",age:42}]
console.log(arg2);  //[{name:"roy",age:42}] 也發(fā)生改變撵渡,因為arg2值為對象

var arg3= [
{
  name:"roy",
  age:21
}
];
var newArg3 = arg3.map(function(item,index,array){
 return{
  ...item;
  item.age*2
}
})
console.log(newArg3);  //[{name:"roy",age:42}]
console.log(arg3);  //[{name:"roy",age:21}] 不發(fā)生改變

filter:返回滿足條件的新數(shù)組融柬,不改變舊數(shù)組

        var arg3 = [
            {
                name:"roben",
                age:21
            }
        ];
        var arg5 = arg3.filter(function(item){
             if(item.age == 21){
                item.age*2
                return item
            }
        })
        console.log(arg3); //[{name:"roben",age:21}]不改變  ????這里不是引用對象嗎,為什么不改變姥闭,疑惑疑惑!!!!!!!!!!!!!1
        console.log(arg5);//[{name:"roben",age:21}]

every:遍歷數(shù)組的值是否滿足某個條件丹鸿,如果都滿足,則返回true棚品,否則false(記得添加return)
some:遍歷數(shù)組的值是否滿足某個條件靠欢,如果有一個滿足,則返回true铜跑,否則false(記得添加return)

sort:排序门怪,需定義排序函數(shù),默認是字符編碼排序
reverse:顛倒數(shù)組
indexOf:返回查詢值在數(shù)組所在的位置(從左到右)锅纺,不存在返回-1
lastIndexOf:返回查詢值在數(shù)組所在的位置(從右到左)掷空,不存在返回-1
reduce:從左到右對數(shù)組進行疊加操作
reduceRight:從右到左對數(shù)組進行疊加操作
isArray:用于判斷某個值是否為數(shù)組,返回布爾值囤锉。

var arg = [];
Arrary.isArrary(arg) // 返回true

toString:轉(zhuǎn)換為字符串坦弟,alert默認調(diào)用的就是toStrig()方法
toLocaleString:轉(zhuǎn)換為字符串,當用在new Date對象時官地,根據(jù)當?shù)貢r間格式顯示
valueOf:valueOf() 方法通常由 JavaScript 在后臺自動調(diào)用酿傍,并不顯式地出現(xiàn)在代碼中。valueOf() 方法不會改變原數(shù)組驱入。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赤炒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子莺褒,更是在濱河造成了極大的恐慌,老刑警劉巖雪情,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遵岩,死亡現(xiàn)場離奇詭異,居然都是意外死亡巡通,警方通過查閱死者的電腦和手機尘执,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扁达,“玉大人正卧,你說我怎么就攤上這事」蚪猓” “怎么了炉旷?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叉讥。 經(jīng)常有香客問我窘行,道長,這世上最難降的妖魔是什么图仓? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任罐盔,我火速辦了婚禮,結(jié)果婚禮上救崔,老公的妹妹穿的比我還像新娘惶看。我一直安慰自己捏顺,他們只是感情好,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布纬黎。 她就那樣靜靜地躺著幅骄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪本今。 梳的紋絲不亂的頭發(fā)上拆座,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音冠息,去河邊找鬼挪凑。 笑死,一個胖子當著我的面吹牛逛艰,可吹牛的內(nèi)容都是我干的躏碳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瓮孙,長吁一口氣:“原來是場噩夢啊……” “哼唐断!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杭抠,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脸甘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后偏灿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丹诀,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年翁垂,在試婚紗的時候發(fā)現(xiàn)自己被綠了铆遭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡沿猜,死狀恐怖枚荣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情啼肩,我是刑警寧澤橄妆,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站祈坠,受9級特大地震影響害碾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赦拘,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一慌随、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦阁猜、人聲如沸丸逸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽椭员。三九已至车海,卻和暖如春笛园,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侍芝。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工研铆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人州叠。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓棵红,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咧栗。 傳聞我的和親對象是個殘疾皇子逆甜,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

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

  • 由于最近都在freecodecamp上刷代碼,運用了很多JavaScript數(shù)組的方法致板,因此做了一份關(guān)于JavaS...
    2bc5f46e925b閱讀 1,976評論 0 16
  • Javascript有很多數(shù)組的方法交煞,有的人有W3C的API,還可以去MDN上去找斟或,但是我覺得API上說的不全素征,M...
    頑皮的雪狐七七閱讀 4,088評論 0 6
  • join() Array.join()方法將數(shù)組中所有元素都轉(zhuǎn)化為字符串并連接在一起,返回最后生成的字符串萝挤∮悖可以指...
    lidroid本人閱讀 550評論 0 3
  • 一個自己覺得應(yīng)該靜心,另一個覺得應(yīng)該聽聽音樂怜珍。 靜心意味著進步端蛆,提升。 聽音樂意味著偷懶酥泛,拖延自己進步今豆。 一邊聽音...
    l筱紅閱讀 352評論 0 0
  • 那個女人不曾有過仙女夢,那個人不曾有過建造世外桃園夢揭璃,是人都應(yīng)該想過晚凿,但怎么實現(xiàn),那就靠個人的付出與造化了瘦馍。...
    靜靜歲月閱讀 309評論 0 0