JS部分資料操作函式

2021-09-13 01:40:23 字數 3240 閱讀 6021

1.終極篇

[1,[2,3]].flat(2) //[1,2,3]

[1,[2,3,[4,5]].flat(3) //[1,2,3,4,5]

[1[2,3,[4,5[...]].flat(infinity) //[1,2,3,4...n]

array.flat(n)是es10扁平陣列的api,n表示維度,n值為infinity時維度為無限大

2.開始篇

function flatten(arr) 

return arr;

}flatten([1,[2,3]]) //[1,2,3]

flatten([1,[2,3,[4,5]]) //[1,2,3,4,5]

實質是利用遞迴和陣列合併方法concat實現扁平

1.終極篇

array.from(new set([1,2,3,3,4,4])) //[1,2,3,4]

[...new set([1,2,3,3,4,4])] //[1,2,3,4]

set是es6新出來的一種一種定義不重複陣列的資料型別

array.from是將類陣列轉化為陣列

...是擴充套件運算子,將set裡面的值轉化為字串

2.開始篇

array.prototype.distinct = function()

} result.push(arr[i]);

} return result;

}[1,2,3,3,4,4].distinct(); //[1,2,3,4]

取新陣列存值,迴圈兩個陣列值相比較

1.終極篇

[1,2,3,4].sort(); // [1, 2,3,4],預設是公升序

[1,2,3,4].sort((a, b) => b - a); // [4,3,2,1] 降序

sort是js內建的排序方法,引數為乙個函式

2.開始篇

氣泡排序:

array.prototype.bublesort=function () }}

return arr;

}[1,2,3,4].bublesort() //[1,2,3,4]

選擇排序

array.prototype.selectsort=function () 

}} return arr;

}[1,2,3,4].selectsort() //[1,2,3,4]

1.終極篇

math.max(...[1,2,3,4]) //4

[1,2,3,4].reduce( (prev, cur,curindex,arr)=> ,0) //4

math.max()是math物件內建的方法,引數是字串;

reduce是es5的陣列api,引數有函式和預設初始值;

函式有四個引數,pre(上一次的返回值),cur(當前值),curindex(當前值索引),arr(當前陣列)

2.開始篇

先排序再取值

1.終極篇

[1,2,3,4].arr.reduce(function (prev, cur) ,0) //10
2.開始篇

function sum(arr)  else if (len == 1) else 

}sum([1,2,3,4]) //10

利用slice擷取改變陣列,再利用遞迴求和

1.終極篇

[1,2,3,4].concat([5,6]) //[1,2,3,4,5,6]

[...[1,2,3,4],...[4,5]] //[1,2,3,4,5,6]

2.開始篇

[5,6].map(item=>) //[1,2,3,4,5,6]
1.終極篇

[1,2,3].includes(4) //false

[1,2,3].indexof(4) //-1 如果存在換回索引

[1, 2, 3].find((item)=>item===3)) //3 如果陣列中無值返回undefined

[1, 2, 3].findindex((item)=>item===3)) //2 如果陣列中無值返回-1

includes(),find(),findindex()是es6的api

2.開始篇

[1,2,3].some(item=>) //true 如果不包含返回false
1.終極篇

array.prototype.slice.call(arguments) //arguments是類陣列(偽陣列)

array.from(arguments)

[...arguments]

2.開始篇

array.prototype.slice = function(start,end)  

return result;

}

1.終極篇

[1,2,3].fill(false) //[false,false,false]
fill是es6的方法

2.開始篇

[1,2,3].map(() => 0)
[1,2,3].every(item=>) //false
every是es5的api,每一項滿足返回 true

[1,2,3].some(item=>) //true
some是es5的api,有一項滿足返回 true

[1,2,3].filter(item=>) //[3]
filter是es5的api,返回滿足新增的項的陣列

object.keys() //['name','age']

object.values() //['張三',14]

object.entries() //[[name,'張三'],[age,14]]

object.fromentries([name,'張三'],[age,14]) //es10的api,chrome不支援 , firebox輸出

MySQL部分資料函式

mysql部分資料函式 數字函式 功能說明 abs x 返回x的絕對值 查詢 結果 select abs 23 23 acos x 返回x的反余弦值 select acos 0 1.570796328 asin 返回x與y的反正弦值 select asin 0.1 0.100167421 atan ...

mysqldump 匯出部分資料

mysqldump是mysql自帶的匯出資料工具,通常我們用它來匯出mysql中,但是有時候我們需要匯出mysql資料庫中某個表的部分資料,這時該怎麼辦呢?mysqldump命令中帶有乙個 where w 引數,它用來設定資料匯出的條件,使用方式和sql查詢命令中中的where基本上相同,有了它,我...

查詢資料只出現部分資料

資料的時候一般都是資料庫有多少資料它就會在頁面上出現多少資料,如果它資料庫裡面有很多的資料而頁面上只出現三四條,那會是什麼原因造成的呢?下面來舉例說明 假如我資料庫裡面有十幾條資料,但是我寫完查詢的方法後執行查詢出來的資料只有三條,這樣的查詢一般都是多表查詢。當我查詢這樣的情況時第一反應就是是不是資...