JS Escript 陣列之使用方法總結

2021-09-23 23:45:58 字數 4361 閱讀 2530

escript 中常見的資料結構有基本型別和物件型別,其中物件型別中array**率非常非常高

引數:無

返回值:出棧元素

item資料型別可以為任意的

引數:任意型別、任意數量的元素

返回值:修改後的陣列的length

let a = [1,2,3]

console.log(a)

a.push()

console.log(a)

引數:item,任意型別資料

返回值:修改後的陣列的length,改變了原陣列,並不會新生成乙個陣列

let a = [1,2,3]

console.log(a)

a.unshift()

console.log(a)

引數:無

返回值:返回移除的元素,此方法改變了原陣列,並不會新生成乙個陣列

引數:fn 型別是 function,格式 (item,index,arr)=>,無論 fn函式邏輯如何 返回值為true

返回值:當每個item執行fn後的結果都為true時為true,否則為false,並不會改變原陣列

const arr = [1,2,3]

let result = arr.every((item,index,arr) => )

console.log('exec1 result --',result)

result = arr.every((item,index,arr) => )

console.log('exec2 result --',result)

列印結果:

exec1 result -- true

exec2 result -- false

引數:fn 型別是 function,格式 (item,index,arr)=>,無論 fn函式邏輯如何 返回值為true

返回值:當任何乙個item執行fn後的結果為true時為true,否則為false,並不會改變原陣列

const arr = [1,2,3]

let result = arr.some((item,index,arr) => )

console.log('exec1 result --',result)

result = arr.some((item,index,arr) => )

console.log('exec2 result --',result)

result = arr.some((item,index,arr) => )

console.log('exec3 result --',result)

列印結果:

exec1 result -- true

exec2 result -- true

exec2 result -- false

引數:fn 型別是 function,格式 (item,index,arr)=>

返回值:對原陣列中的每一項執行 fn 結果組成的新陣列,並不會改變原陣列

const arr = [1,2,3]

const r = arr.map((item,index,arr) => )

console.log(r)

執行結果

[false, false, true]

引數:fn 型別是 function,格式 (item,index,arr)=>

返回值:對原陣列中的每一項執行fn,滿足filter條件的結果組成新陣列,並不會改變原陣列

const arr = [1,2,3]

const r = arr.filter((item,index,arr) => )

console.log(r)

執行結果

[3]

引數:fn 型別是 function,格式 (item,index,arr)=>

返回值:對陣列的每一項,執行fn,但是此遍歷方法無返回值

這三個方法類似物件的遍歷方法

引數:引數可以是乙個或者多個項,可以是乙個或者多個陣列

返回值:此方法的執行順序是先拷貝原陣列到新陣列中,在新陣列中新增元素,執行結束後返回新陣列,原陣列不變

const arr = [2,4,5,6,7,8]

let r = arr.concat(2,4,[7,8])

console.log('exec1--',r)

r = arr.concat(2,4,[7,8,[9,10]])

console.log('exec2--',r)

執行結果

exec1-- (10) [2, 4, 5, 6, 7, 8, 2, 4, 7, 8]

exec2-- (11) [2, 4, 5, 6, 7, 8, 2, 4, 7, 8, array(2)]

其中執行結果二中的array(2)為陣列[9,10]

此結果表明concat沒有拉平陣列的功能

引數:start:必輸項,擷取陣列開始的索引(包含start);end 可選項,擷取陣列結束時的索引(不包含end)

返回值:返回擷取出來的陣列,並不會改變原陣列

const arr = [2,3,4,5,6,7,8]

let r = arr.slice(2,3)

console.log('exec--',r)

執行結果

exec-- [4]

引數:start:操作的開始索引,howmany刪除的數量,item1,item2,...itemn 為可選引數,

返回值:返回的是刪除操作的陣列,並且在原陣列執行刪除操作後,執行新增操作,此方法會改變原陣列

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

let r = arr.splice(1,3,7,8,[9,10])

console.log('exec--',r,'arr--',arr)

exec-- [3, 4, 5] arr-- (5) [2, 7, 8, array(2), 6]

此方法並不實現拉平陣列功能

引數:val:給定的值,startindex:可選,開始查詢的索引

返回值:如果找到了,就返回true,如果沒有找到就返回false

引數:fn (item,index,arr) => {}

返回值:返回滿足 fn 執行 結果的第乙個元素,陣列元素可以是物件也可以是基本資料型別

引數:fn (item,index,arr) => {}

返回值:返回滿足 fn 執行 結果的第乙個元素索引,陣列元素可以是物件也可以是基本資料型別

引數:val查詢的元素

返回值:返回val在陣列中的最後乙個索引,如果未找到則返回-1

引數:level 整型資料或者無限 infinity 可選,預設拉平二維陣列 

返回值:多為陣列拉平之後的一維陣列 

引數:val,用來替換原陣列元素的值,startindex:開始索引(包含),endindex結束索引(不包含)

返回值:被改變後的陣列

const arr = [2,3,4,5,6,7,8]

arr.fill(8)

console.log('arr--',arr)

arr.fill(0,6)

console.log('arr2--',arr)

arr.fill(7,2,4)

console.log('arr3--',arr)

執行結果

arr-- [8, 8, 8, 8, 8, 8, 8]

arr2-- [8, 8, 8, 8, 8, 8, 0]

arr3-- [8, 8, 7, 7, 8, 8, 0]

引數:targetindex,複製後放置位置的開始索引,startindex,複製資料的開始索引(包含),endindex,複製資料結束的索引(不包含)

返回值:改變後的陣列,該方法會改變原陣列

引數:無

返回值,將陣列轉換成字串返回

引數:str 可選

返回值:如果join沒有引數,將陣列轉成字串返回,如果有引數,則將陣列中「,」替換成該引數值,並返回字串

注:此方法我的理解是,先呼叫陣列的tostring()方法,然後將tostring()中返回的字串中的「,」替換成str的值

引數:fn,(pre,next) => {} fn為可選引數

返回值:返回排序後的陣列,會改變原陣列

引數:無

返回值:將陣列翻轉,返回反轉後的陣列,會改變原陣列

引數:fn,(sum,curval) => {},fn為累加器函式,sum為前一次累加後的結果

返回值:將陣列累加後的結果值返回

gitlab之source tree使用方法

視覺化專案版本控制軟體,使用git專案管理,支援windows mac 客戶端使用source tree開發原始碼,圖形化提交到gitlab 需要填寫ssh位址或http位址 本地路徑 型別會自動識別 識別失敗會顯示這不是乙個標準的git倉庫,可能的原因有 位址錯誤 訪問許可權 如果想獲取最新的原始...

bash shell之陣列使用

摘要 1 array value1 value2 valuen 賦值2 read a array 讀入陣列 3 陣列資訊,陣列下標,陣列長度,去陣列位置 4 array ls grep rpm 命令執行結果放入陣列 5 for i in do 遍歷陣列 6 set grep array 利用set檢...

Linux shell之陣列使用

1.陣列定義 a 1 2 3 4 5 2.陣列引用 apuser wenyangubtpc echo 1 2 3 4 5 3.陣列長度 apuser wenyangubtpc echo 5 4.列印陣列 echo apuser wenyangubtpc echo 1 2 3 4 5 5.陣列元素引用...