js筆記二十之Array數(shù)組的查詢,拼接,轉(zhuǎn)字符串,排列(序)

數(shù)組查詢

  • slice

數(shù)組的查詢
參數(shù): slice(n,m) 從索引n開始找到索引m處(不包含m)
返回值: 把找到的部分以一個新數(shù)組返回
原來數(shù)組不變

  1. slice(n) 從索引n找到末尾
  2. slice(0)或slice() 數(shù)組克隆,克隆一份和原來數(shù)組一模一樣的新數(shù)組
  3. slice()支持負數(shù)索引,如果傳遞的索引為負數(shù),瀏覽器解析的時候按照 總長度+負數(shù)索引來處理的
var ary = [12,23,34,45,56,67,78,89,90];
var ary1 = ary.slice(3,8)
console.log(ary) // -> [12, 23, 34, 45, 56, 67, 78, 89, 90]
console.log(ary1) // -> [45, 56, 67, 78, 89]

數(shù)組拼接

  • concat

將多個數(shù)組拼接在一起
參數(shù): 要拼接的內(nèi)容(把要拼接的數(shù)組放在原數(shù)組后面),可以是一個數(shù)組,也可以是一些數(shù)據(jù)值
返回值: 拼接后的新數(shù)組
原數(shù)組不改變
concat() 什么都不拼接相當于把 原數(shù)組克隆一個一模一樣的新數(shù)組

var ary = [12,23,34]
ary.concat([45,56],'lilei') // -> [12, 23, 34, 45, 56, "lilei"]
console.log(ary) // -> [12, 23, 34]

數(shù)組轉(zhuǎn)換為字符串

  • toString

把數(shù)組轉(zhuǎn)換為字符串(轉(zhuǎn)換后的字符串以逗號分隔每一項)
參數(shù): 無
返回值: 轉(zhuǎn)換的字符串
原有數(shù)組不變

var ary = [12,23,34];
ary.toString() // -> "12,23,34"
console.log(ary) // -> [12, 23, 34]
  • join

把數(shù)組按照指定的分割符轉(zhuǎn)換為字符串,和字符串中的split相對應(yīng)
參數(shù): 指定的連接符
返回值: 連接后的字符串
原數(shù)組不變

var ary = [12,23,34];
ary.join(" ") // -> "12 23 34"
ary.join("+") // -> "12+23+34"
console.log(ary) // -> [12,23,34]
// 一直數(shù)組中的每一項, 想實現(xiàn)數(shù)組求和
// 1. 利用循環(huán)
var total = 0;
for(var i=0;i<ary.length;i++){
    total += ary[i]
}

// 2. 利用join
var total = eval(ary.join('+')); // -> 把字符串變?yōu)閖s表達式執(zhí)行

實現(xiàn)數(shù)組中的每一項的排序和排列

  • reverse

把數(shù)組中的每一項倒過來排列
參數(shù): 無
返回值: 排列后的新數(shù)組
原來數(shù)組改變

var ary = [1,23,2,34,21];
ary.reverse();  // -> [21, 34, 2, 23, 1]
console.log(ary) // -> [21, 34, 2, 23, 1]
  • sort

實現(xiàn)數(shù)組的排序
參數(shù): 無或者回調(diào)函數(shù)
返回值: 排序后的數(shù)組
原有數(shù)組改變

不傳參數(shù)的情況下,可以給10以內(nèi)的數(shù)字進行升序排列, 但是超過10的就無法處理了(多位數(shù)只識別第一位)

var ary = [1,23,2,34,21];
ary.sort();  // -> [1, 2, 21, 23, 34]
console.log(ary) // -> [1, 2, 21, 23, 34]

var ary = [1,23,2,34,21,12];
ary.sort();  // -> [1, 12, 2, 21, 23, 34]  
// -> 12 排在了2的前面,說明sort并不是按數(shù)字大小排序,而是只看數(shù)字第一位
console.log(ary) // -> [1, 12, 2, 21, 23, 34]

// -> 從小到大排序
var ary = [1,23,2,34,21,12];
ary.sort(function(a,b){return a-b});  // -> [1, 2, 12, 21, 23, 34]
// -> 12 排在了2的前面,說明sort并不是按數(shù)字大小排序,而是只看數(shù)字第一位
console.log(ary) // -> [1, 2, 12, 21, 23, 34]

// -> 從大到小排序
var ary = [1,23,2,34,21,12];
ary.sort(function(a,b){return b-a});  // -> [34, 23, 21, 12, 2, 1]
// -> 12 排在了2的前面,說明sort并不是按數(shù)字大小排序,而是只看數(shù)字第一位
console.log(ary) // -> [34, 23, 21, 12, 2, 1]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,679評論 0 4
  • 前言 最先接觸編程的知識是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言,java語言,單片機的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,395評論 0 7
  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,219評論 0 1
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,565評論 0 13
  • 最近幾年,年年今日皆有人約新年音樂會。謝謝2016之靜嫻。謝謝理想(音)童鞋,以粥客之實屬無奈,非彼之無奈,乃汝之...
    世界污脊閱讀 189評論 0 0

友情鏈接更多精彩內(nèi)容