若后臺(tái)返回格式如下:
創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端重慶網(wǎng)站建設(shè)、重慶網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、成都全網(wǎng)營(yíng)銷推廣、微信平臺(tái)小程序開(kāi)發(fā)、微信公眾號(hào)開(kāi)發(fā)、seo優(yōu)化服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺(jué)設(shè)計(jì)、程序開(kāi)發(fā)來(lái)完成項(xiàng)目落地,為成都石牌坊企業(yè)提供源源不斷的流量和訂單咨詢。
let data = [
{"createdAt": "2020-08-02T11:00:24.580Z", "name": "西瓜"},
{"createdAt": "2020-08-03T11:00:24.580Z", "name": "水蜜桃"},
{"createdAt": "2020-08-03T11:00:24.580Z", "name": "櫻桃"},
{"createdAt": "2020-08-02T11:00:24.580Z", "name": "西柚"},
]
? 方法:使用 dayjs(createdAt).format('YYYY-MM-DD') 轉(zhuǎn)換
? 注:dayjs 安裝引用
? ? ? ? ?npm?install?dayjs?--save? ? ?import dayjs from 'dayjs'
?for ( let i=0; iarray.length; i++ ) { ? ? ?
let createdAt = dayjs(array[i].time);
? ? ? ? array[i].createdAt = createdAt;
}
mapName (array) {
? ? ? let newArray = [];
? ? ? array.forEach((item, i) = {
? ? ? ? ? let index = -1;
? ? ? ? ? let alreadyExists = newArray.some((newItem, j) = {
? ? ? ? ? ? ? if (item.createdAt === newItem.createdAt) {
? ? ? ? ? ? ? ? ? index = j;
? ? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? ? }
? ? ? ? ? });
? ? ? ? ? if (!alreadyExists) {
? ? ? ? ? ? ? newArray.push({
? ? ? ? ? ? ? ? ? createdAt: item.createdAt,
? ? ? ? ? ? ? ? ? name: [item.name]
? ? ? ? ? ? ? });
? ? ? ? ? } else {
? ? ? ? ? ? ? newArray[index].price.push(item.name);
? ? ? ? ? }
? ? ? });
? ? ? return newArray;
? }
分組使用select數(shù)學(xué)成績(jī)fromgradegroupby數(shù)學(xué)成績(jī)。
select姓名"學(xué)生姓名",(數(shù)學(xué)成績(jī)+英語(yǔ)成績(jī)+計(jì)算機(jī)成績(jī))/3“平均成績(jī)”fromgradewhere數(shù)學(xué)成績(jī),60。
這是一個(gè)自運(yùn)行函數(shù)的寫法。
當(dāng)然一般的寫法都是匿名函數(shù)而且會(huì)在函數(shù)外面加一個(gè)括號(hào)括起來(lái),如:
(function?(x){
alert(x?+?1);
})(1);
自運(yùn)行函數(shù),從字面上就能理解,意思就是網(wǎng)頁(yè)一加載就會(huì)運(yùn)行該函數(shù)。
把上面這個(gè)自運(yùn)行函數(shù)拆分成標(biāo)準(zhǔn)的js語(yǔ)法可以寫成下面這樣
function?tempFun(x){
alert(x?+?1);
}
tempFun(x);
那么問(wèn)題來(lái)了,既然是一加載網(wǎng)頁(yè)就會(huì)運(yùn)行的代碼,又何苦要寫一個(gè)自運(yùn)行函數(shù)呢?
直接寫在script標(biāo)簽里面不就行了嗎?答案當(dāng)然是可以的,既然可以,那么這自運(yùn)行函數(shù)又有何用呢?
說(shuō)到自運(yùn)行函數(shù)的作用,那么一般都是用他的封包功能,如下面這斷代碼
var?i?=?1;
(function?(number){
var?i?=?10;
for(;number??10;number++){
if(number?==?i){
alert(number);?//彈出10
}
}
})(i);
alert(i);//彈出1
上面這段代碼在自運(yùn)行函數(shù)外部和內(nèi)部都定義了i變量,如果不用自運(yùn)行函數(shù),那么這個(gè)i的值就會(huì)混淆,而用了自運(yùn)行函數(shù)內(nèi)部的i只能在函數(shù)內(nèi)部訪問(wèn),外部的都能訪問(wèn),這樣就能保證自運(yùn)行函數(shù)內(nèi)部的變量不和外部的變量混淆了。
當(dāng)然了,自運(yùn)行函數(shù)還有很多功能,比如jQuery,打開(kāi)jQuery,你會(huì)發(fā)現(xiàn)jQuery里面的代碼都是寫在一個(gè)自運(yùn)行函數(shù)里面的,大體如下
(function(window){
....
})(window);
這樣就能保證jQuery插件內(nèi)部定義的變量的值不會(huì)被外部更改。
當(dāng)然了,這里只說(shuō)了變量,其他的如函數(shù)什么的如果在自運(yùn)行函數(shù)里面定義的也只能在自運(yùn)行函數(shù)里面使用,如
(function(window){
var?$?=?function(){}?||?window.$;
function?each(){
....
}
$.each?=?each;
window.$?=?$;
})(window);
自運(yùn)行函數(shù)曾經(jīng)我也不懂,所以現(xiàn)在寫出我自己的理解,希望對(duì)你有幫助。
var example =
[
[0,0,0,2,2,2,3,3,3],
[0,0,0,2,2,2,3,3,3],
[0,0,0,2,2,2,3,3,3],
[0,0,0,2,2,2,3,3,3],
];
var arr = [].concat.apply([],example).sort();
console.log(arr);