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.陣列元素引用...