詳解JS數(shù)據(jù)類型/轉換/方法(Arr)

js的數(shù)據(jù)類型

1.Number
2.String
3.Boolean
4.Symbol (es2015新增)
5.Object (Function,Arr,Date,RegExp)
6.Null
7.Undefined
另外則還有一些內(nèi)置的Err對象。

Arr

創(chuàng)建數(shù)組方法:

let a = new Array(size); //size代表數(shù)組長度
let b = new Array(x,y,z);
let c = [1,2,3]
1.對象屬性

①length 設置或返回數(shù)組中元素的數(shù)目。

let kolento = [1,2,3,4,5]
console.log(kolento.length) //返回5 

②prototype 使您有能力向對象添加屬性和方法。

function employee(name,job,born){
  this.name=name;
  this.job=job;
  this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
employee.prototype.salary=null;
bill.salary=20000;
document.write(bill.salary); // 20000
2.對象方法

①合并兩個數(shù)組 - concat() 連接兩個或更多的數(shù)組,并返回結果。

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
//返回 George,John,Thomas,James,Adrew,Martin

②用數(shù)組的元素組成字符串 - join()

var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join());// George,John,Thomas 不添加分割符號,默認逗號
document.write("<br />");
document.write(arr.join("."));// George.John.Thomas

③pop() 刪除并返回數(shù)組的最后一個元素

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr) //George,John,Thomas
document.write(arr.pop()) //Thomas
document.write(arr) //George,John

④push() 方法可向數(shù)組的末尾添加一個或多個元素,并返回新的長度。
arrayObject.push(newelement1,newelement2,....,newelementX)
可以添加多個元素

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.push("James","kolento") ) // 5返回長度
document.write(arr) //返回 George,John,Thomas,James,kolento

⑤reverse() 方法用于顛倒數(shù)組中元素的順序。

let a = [1,2,3,4,5];
document.write(a.reverse()); //5,4,3,2,1

⑥shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值。
說明
如果數(shù)組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。請注意,該方法不創(chuàng)建新數(shù)組,而是直接修改原有的 arrayObject。

let a = [1,2,3]
document.write(a.shift()); // 1 返回被刪除的元素

unshift() 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度。
arrayObject.unshift(newelement1,newelement2,....,newelementX)
至少添加一個元素,可添加n個

⑦slice() 方法可從已有的數(shù)組中返回選定的元素。
arrayObject.slice(start,end)
start:必需。規(guī)定從何處開始選取。如果是負數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數(shù)第二個元素,以此類推。
end:可選。規(guī)定從何處結束選取。該參數(shù)是數(shù)組片斷結束處的數(shù)組下標。如果沒有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結束的所有元素。如果這個參數(shù)是負數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。

let arr = [1,2,3,4,5]
document.write(arr.slice(1,3)); //[2,3]
document.write(arr.slice(3)); //[4,5]

⑧sort() 方法用于對數(shù)組的元素進行排序。
arrayObject.sort(sortby)
sortby 可選。規(guī)定排序順序。必須是函數(shù)。

返回值

對數(shù)組的引用。請注意,數(shù)組在原數(shù)組上進行排序,不生成副本。
如果調(diào)用該方法時沒有使用參數(shù),將按字母順序對數(shù)組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現(xiàn)這一點,首先應把數(shù)組的元素都轉換成字符串(如有必要),以便進行比較。

說明

如果想按照其他標準進行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應該具有兩個參數(shù) a 和 b,其返回值如下:

若 a 小于 b,在排序后的數(shù)組中 a 應該出現(xiàn)在 b 之前,則返回一個小于 0 的值。
若 a 等于 b,則返回 0。
若 a 大于 b,則返回一個大于 0 的值。

function sortone(a, b){
  return b-a
}
function sorttwo(a, b){
  return a-b
}
var arr = [1,2,3,4,5]
document.write(arr.sort(sortone))  //5,4,3,2,1
document.write(arr.sort(sorttwo))  //1,2,3,4,5

⑨splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
arrayObject.splice(index,howmany,item1,.....,itemX)
index:必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結尾處規(guī)定位置。
howmany:必需。要刪除的項目數(shù)量。如果設置為 0,則不會刪除項目。
item1, ..., itemX:可選。向數(shù)組添加的新項目。

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
arr.splice(2,3,"William")
document.write(arr) //George,John,William,Martin

⑩toString() / toLocaleString()方法
可把數(shù)組轉換為字符串,并返回結果。區(qū)別在于數(shù)字與日期轉換后的格式上

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.toString()) //George,John,Thomas 逗號連接
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,928評論 0 0
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,535評論 0 13
  • 一、基礎知識:1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,559評論 0 4
  • 青菜瘦肉面。 三月三地菜蛋。 100天。 剛滿一周歲。 和姥姥一起玩。 糖、僖阿姨我們一起爬蓮花山。
    c53e388eb75b閱讀 289評論 0 0
  • 1, 20171225 從 小熊 的 用戶,sudo 命令行,切換到 我的用戶,256G 只剩 30G。Mac 下...
    plantAtree_dAp閱讀 440評論 0 0

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