JS中陣列常見的操作方法

2021-09-25 12:59:31 字數 4053 閱讀 3994

// 基礎型別:

string // 字串

number // 數字

boolean // 布林值

null // 空物件

undefined // 末定義

symbol //new in es 6

// 引用型別:

object // 物件

array // 陣列

function // 函式

基本型別儲存的是值,引用型別儲存的是物件的位址,所有基本型別賦值是按值傳遞(拷貝賦值),

引用型別賦值是按引用傳遞。

// typeof 返回變數或表示式的型別  注意此方法只能判斷簡單的資料型別

console.log(typeof '123') // string

console.log(typeof 123) // number

console.log(typeof true) // boolean

console.log(typeof null) // object

console.log(typeof undefined) // undefined

console.log(typeof {}) // object

console.log(typeof ) // object

console.log(typeof function) // function

// instanceof 除了能判斷簡單的資料型別外, 還可以用來判斷乙個物件是否另乙個物件的例項

instanceof array; // true

{} instanceof object;// true

new date() instanceof date;// true

function person(){};

new person() instanceof person;

instanceof object; // true

new date() instanceof object;// true

new person instanceof object;// true

// 從 instanceof 能夠判斷出 [ ].__proto__ 指向 array.prototype,而 array.prototype.__proto__ 又指向了object.prototype,最終

// object.prototype.__proto__ 指向了null,標誌著原型鏈的結束。因此,、array、object 就在內部形成了一條原型鏈:

// 增加元素

// array.push() 向陣列的末尾新增乙個或多個元素,並返回新的長度

// array.unshift() 向陣列的開頭新增乙個或多個元素,並返回新的長度

const arr = [1, 2, 3, 4, 5]

console.log(arr.push(6, 7)) // 7

console.log(arr) // [1, 2, 3, 4, 5, 6, 7]

const arr = [1, 2, 3, 4, 5]

console.log(arr.unshift(6, 7)) // 7

console.log(arr) // [6, 7, 1, 2, 3, 4, 5]

// 刪除元素

// array.pop() 刪除並返回陣列的最後乙個元素

// array.shift() 刪除並返回陣列的第乙個元素

const arr = [1, 2, 3, 4, 5]

console.log(arr.pop()) // 5

console.log(arr) // [ 1, 2, 3, 4]

const arr = [1, 2, 3, 4, 5]

console.log(arr.shift()) // 1

console.log(arr) // [ 2, 3, 4, 5]

// 刪除元素並向陣列新增新元素

// array.splice(index, n) 從陣列的index位置開始刪除n個元素, 並返回被刪除的元素的陣列

// array.splice(index, n, newarray) 從陣列的index位置開始刪除n個元素然後再增加新的元素, 並返回新的陣列

const arr = [1, 2, 3, 4, 5]

console.log(arr.splice(1, 1)) // [2]

console.log(arr) // [1, 3, 4, 5]

const arr = [1, 2, 3, 4, 5]

console.log(arr.splice(1, 2, 6)) // [2, 3]

console.log(arr) // [1, 6, 4, 5]

// 擷取與合併

// array.slice(start,end) 從已有的陣列中返回選中的元素, 包左不包右

// array.concat(element1,element2,array) 連線兩個或多個陣列,並返回新的陣列

// 注:該方法並不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本

const arr = [1, 2, 3, 4, 5]

console.log(arr.slice(1, 3)) // [2, 3]

console.log(arr) // [1, 2, 3, 4, 5]

const arr = [1, 2, 3, 4, 5]

console.log(arr.concat(6, 7, [8, 9])) // [1, 2, 3, 4, 5, 6, 7, 8, 9]

console.log(arr) // [1, 2, 3, 4, 5]

// array.join(separator) 把陣列中的所有元素放入乙個字串, 元素通過指定的分隔符進行分隔(預設是逗號分隔符),返回乙個字串

// string.split(separator,n) 把乙個字串分割成字串陣列, n代表指定返回的陣列的最大長度

const arr = [1, 2, 3, 4, 5]

console.log(arr.join()) // string 1,2,3,4,5

console.log(arr) // [1, 2, 3, 4, 5]

const str = '1234564897'

console.log(str.split('',5)) // ["1", "2", "3", "4", "5"]

console.log(str) // 1234564897

// array.reverse() 顛倒陣列中元素的順序

// array.sort() 對陣列中的元素進行排序, 注意:陣列在原陣列進行排序,不生成副本

const arr = [1, 2, 3, 4, 5]

console.log(arr.reverse()) // [5, 4, 3, 2, 1]

console.log(arr) // [5, 4, 3, 2, 1]

const arr = [1, 9, 3, 8, 5]

console.log(arr.sort()) // [1, 3, 5, 8, 9]

console.log(arr) // [1, 3, 5, 8, 9]

改變原陣列的:

shift:將第乙個元素刪除並且返回刪除元素,空即為undefined

unshift:向陣列開頭新增元素,並返回新的長度

pop:刪除最後乙個並返回刪除的元素

push:向陣列末尾新增元素,並返回新的長度

reverse:顛倒陣列順序

sort:對陣列排序

splice:splice(start,length,item)刪,增,替換陣列元素,返回被刪除陣列,無刪除則不返回

不改變原陣列的:

concat:連線多個陣列,返回新的陣列

join:將陣列中所有元素以引數作為分隔符放入乙個字元

slice:slice(start,end),返回選定元素

map,filter,foreach,some,every等不改變原陣列

js陣列的常見操作方法

let arr 1,2,3,4,5 let num1 arr.splice 2,3,6,6,6 console.log num1,arr splice 乙個引數是刪除的位置 兩個引數 第乙個是刪除的位置 第二是刪除的個數 三個引數 第乙個是插入元素的位置,第二個值是插入的個數,後面的都是插入的元素 ...

js中陣列的操作方法

今天給大家帶來一篇有關陣列操作方法的文章。var arr new array var arr 1,2,3 var arr new array arr 0 kwan arr 1 18 說明一點 push是往陣列末尾新增新元素。var arr new array arr 0 1 arr 1 2 arr ...

js中陣列的操作方法

concat 方法基於當前陣列中的所有項建立乙個新陣列。具體做法是先複製當前陣列,然後將接收到的引數 引數可以是值,乙個陣列,多個陣列,但是最終新增到陣列中的都是數值 新增到新陣列的末尾。slice 方法基於當前陣列中的乙個或多個項建立新陣列。此方法接受乙個或兩個引數,當只有乙個引數時,返回從該引數...