js 陣列常用知識

2021-10-03 13:58:37 字數 2323 閱讀 8319

1.es5 es6陣列去重排序

方法一(es5):

簡單的迴圈套迴圈遍歷對比

function

way1

(arr)}if

(!repeat)

}return arr1;

}

方法二(es5):

先排序,取出新的值與相鄰的值進行對比:

function

way2

(arr)

}return arr3;

}

方法三:

①利用es6中set容器的特點:set容器是無序不可重複的多個value的集合體,將陣列作為引數傳入會自動去重

②迴圈遍歷 for(let value of target){},可遍歷陣列,set容器,map容器,字串,偽陣列

let arr =[1

,2,3

,3,4

,4,5

,6,6

,7]let arr1 = arr;

arr =

;let set2 =

newset

(arr1)

;for

(let i of set2)

console.

log(arr)

;// [1, 2, 3, 4, 5, 6, 7]

方法四:

array.from(v) : 將偽陣列物件或可遍歷物件轉換為真陣列

let arr =[3

,3,4

,5,6

,1,3

,5,5

,6,1

] arr = array.

from

(new

set(arr));

console.

log(arr)

;// [3, 4, 5, 6, 1]

2.隨機生成數

let randomindex = arr[math.

floor

(math.

random()

* arr.length)

];

隨機取數

function

getrandomarrelement

(arr, count)

return res

}

js求兩個陣列的交集|並集|差集|去重

第一種解決方案: filter+includes

let difference = a.

concat

(b).

filter

(v =>

!a.includes

(v))

2)第二種解決方案:set+array.from

let aset =

newset

(a)let bset =

newset

(b)let difference = array.

from

(new

set(a.

concat

(b).

filter

( v =>

!aset.

has(v)))

)

第三種解決方案:filter+indexof

// 並集

var union = a.

concat

(b.filter

(function

(v)))[

1,2,

3,4,

5]// 交集

var intersection = a.

filter

(function

(v))

// [2]

// 差集

var difference = a.

filter

(function

(v))

// [1,3]

二分法查詢演算法

function

binarysearch

(arr, data)

else

if(arr[middle]

< data)

else

}return-1

;}

js 陣列知識複習

2.1 建立陣列 兩種方式 1.new array 建立乙個空陣列 var arr1 new array 建立乙個長度為10的空陣列,var arr2 new array 10 建立乙個包含乙個字串good的陣列 var arr3 new array good 特別說明 當傳進去括號中的只有乙個值,...

js幾個常用知識

最優化的繼承方式 聖杯模式 var inherit function c,p return function c,p 型別判斷 基本型別 null 使用string null 返回 null 基本型別 string number boolean undefined 以及 function 使用typ...

js常用知識真理

1.js 陣列 var a new array var a new array size var a new array element1,element2,雖然第二種和第三種都指定了陣列的長度,但是js的陣列長度是可變的,也就是說即使陣列長度只有5,你也可以把資料存到第六個位置,依然能夠存下。fu...