日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DAY14刷面试题

發布時間:2023/12/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DAY14刷面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隔壁寢室的小姐姐最近面的很多,她差不多已經有意向的offer了!大概10月中就能逃離這里了,我也要加油!盡快逃離這里!今天就是聽她面試聽到的一部分面試題!今天也要加油呀!!!

盒子垂直居中

1、position+transfrom

position : absolute; top : 50%; left: 50%; transform : translate(-50%,-50%)

2、position定位

position : absolute; top : 50%; left: 50%; margin-left=-50%; margin-top=-50%

3、flex布局

display : flex; justify-content:center; align-items:center;

4、給父盒子設置屬性

display : table-cell; text-align : center; vertical-align :middle;

Vertices

(這個屬性?還是啥?我也真是沒聽過,找到的我也不太明白,有人知道能說一說嗎?)

ES6新特性用的多嗎?用的哪些?

1、const和let變量
let和const 不存在變量提升,定義之后才能使用變量,只在局部起作用,不允許重復被定義。
const:常量不可被改變。如果使用const聲明的是對象的話,可以修改對象里面的值。
var存在變量提升,可以多次被定義。

2、模板字面量
在ES6之前,將字符串連接到一起的方法是+或者concat()方法
模板字面量本質上是包含嵌入式表達式的字符串面量。
模板字面量用倒引號(``),不是單引號或者雙引號,可以包含用${expression}表示的占位符

3、解構
使用解構從數組和對象提取值并賦值給獨特的變量。

解構數組的值:

const point = [10, 25, -34]; const [x, y, z] = point; console.log(x, y, z);

[]表示被解構的數組, x,y,z表示要將數組中的值存儲在其中的變量, 在解構數組是, 還可以忽略值, 例如const[x,z]=point,忽略y坐標.

解構對象中的值:

const gemstone = {type: 'quartz',color: 'rose',karat: 21.29 }; const {type, color, karat} = gemstone; console.log(type, color, karat);

花括號 { } 表示被解構的對象,type、color 和 karat 表示要將對象中的屬性存儲到其中的變量

對象字面量簡寫法

let type = 'quartz'; let color = 'rose'; let carat = 21.29; const gemstone = {type: type,color: color,carat: carat }; console.log(gemstone);

使用和所分配的變量名稱相同的名稱初始化對象時如果屬性名稱和所分配的變量名稱一樣,那么就可以從對象屬性中刪掉這些重復的變量名稱。

let type = 'quartz'; let color = 'rose'; let carat = 21.29; const gemstone = {type,color,carat}; console.log(gemstone);

4、展開運算符
(用三個連續的點 (…) 表示)是 ES6 中的新概念,使你能夠將字面量對象展開為多個元素

const books = ["Don Quixote", "The Hobbit", "Alice in Wonderland", "Tale of Two Cities"]; console.log(...books); Prints: Don Quixote The Hobbit Alice in Wonderland Tale of Two Cities

展開運算符的一個用途是結合數組。
如果需要結合多個數組,在有展開運算符之前,必須使用 Array的 concat() 方法。

const fruits = ["apples", "bananas", "pears"]; const vegetables = ["corn", "potatoes", "carrots"]; const produce = fruits.concat(vegetables); console.log(produce);

5、箭頭函數
匿名函數,箭頭函數內部的this和箭頭外部的this保持一致。
變體1:如果箭頭函數,左側的形參列表中,只有一個參數,則左側小括號可以省略;
變體2:如果右側函數體中,只有一行代碼,則,右側的{ }可以省略;
變體3:如果箭頭函數左側 只有一個 形參,而且右側只有一行代碼,則 兩邊的()和{}都可以省略

promise

是異步編程的一個解決方案,主要用來解決回調地獄,一般是有異步請求操作時,會對Promise進行封裝。

Promise是一個容器,里面保存這某個未來才會結束的事件的結果(一般是一個異步操作)。

三種狀態
pending(進行中) 等待狀態,比如正在進行網絡請求,或者定時器沒有到時間的時候。
fulfilled(已成功) 滿足狀態,當我們主動回調了resolve()時,接口調用成功,就處于該狀態,并且會回調.then()
rejected(已失敗)拒絕狀態,當我們主動回調了reject()時,接口調用失敗,就處于該狀態,并且會回調.catch()

一旦把異步代碼放到Promis后,異步狀態就會馬上變成pending,異步代碼執行后只會是fulfilled或者rejected的其中一個狀態。(會出現一次,互斥)

JS數組去重

1、利用ES6里的Set去重

function unique (arr) {return Array.from(new Set(arr)) } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr))//[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]

不考慮兼容性,這種去重的方法代碼最少。這種方法還無法去掉“{}”空對象,后面的高階方法會添加去掉重復“{}”的方法。

2、利用for循環嵌套for,然后splice去重(ES5)

function unique(arr){ for(var i=0; i<arr.length; i++){for(var j=i+1; j<arr.length; j++){if(arr[i]==arr[j]){ //第一個等同于第二個,splice方法刪除第二個arr.splice(j,1);j--;}}} return arr; } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr))//[1, "true", 15, false, undefined, NaN, NaN, "NaN", "a", {…}, {…}] //NaN和{}沒有去重,兩個null直接消失了

雙層循環,外層循環元素,內層循環時比較值。值相同時,則刪去這個值。

3、indexOf去重

function unique(arr) {if (!Array.isArray(arr)) {console.log('type error!')return}var array = [];for (var i = 0; i < arr.length; i++) {if (array .indexOf(arr[i]) === -1) {array .push(arr[i])}}return array; } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr))// [1, "true", true, 15, false, undefined, null, NaN, NaN, "NaN", 0, "a", {…}, {…}] //NaN、{}沒有去重

新建一個空的結果數組,for 循環原數組,判斷結果數組是否存在當前元素,如果有相同的值則跳過,不相同則push進數組。

4、利用sort()

function unique(arr) {if (!Array.isArray(arr)) {console.log('type error!')return;}arr = arr.sort()var arrry= [arr[0]];for (var i = 1; i < arr.length; i++) {if (arr[i] !== arr[i-1]) {arrry.push(arr[i]);}}return arrry; }var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr)) // [0, 1, 15, "NaN", NaN, NaN, {…}, {…}, "a", false, null, true, "true", undefined] //NaN、{}沒有去重

利用sort()排序方法,然后根據排序后的結果進行遍歷及相鄰元素比對。

5、利用Map數組

function arrayNonRepeatfy(arr) {let map = new Map();let array = new Array(); // 數組用于返回結果for (let i = 0; i < arr.length; i++) {if(map .has(arr[i])) { // 如果有該key值map .set(arr[i], true); } else { map .set(arr[i], false); // 如果沒有該key值array .push(arr[i]);}} return array ; }var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr)) //[1, "a", "true", true, 15, false, 1, {…}, null, NaN, NaN, "NaN", 0, "a", {…}, undefined]

創建一個空Map數據結構,遍歷需要去重的數組,把數組的每一個元素作為key存到Map中。由于Map中不會出現相同的key值,所以最終得到的就是去重后的結果。

6、利用遞歸

function unique(arr) {var array= arr;var len = array.length;array.sort(function(a,b){ //排序后更加方便去重return a - b;})function loop(index){if(index >= 1){if(array[index] === array[index-1]){array.splice(index,1);}loop(index - 1); //遞歸loop,然后數組去重}}loop(len-1);return array; }var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr)) //[1, "a", "true", true, 15, false, 1, {…}, null, NaN, NaN, "NaN", 0, "a", {…}, undefined]

7、利用filter

function unique(arr) {return arr.filter(function(item, index, arr) {//當前元素,在原始數組中的第一個索引==當前索引值,否則返回當前元素return arr.indexOf(item, 0) === index;}); }var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];console.log(unique(arr)) //[1, "true", true, 15, false, undefined, null, "NaN", 0, "a", {…}, {…}]

升級 有對象數組 根據id去重

<script type="text/javascript"> //根據 sys_time 和 loc_time 去重var tmp = [{"id":1,"sys_time": "2015-03-09 15:15:08", //與id為2的重復"loc_time": "2015-03-09 15:16:38"}, {"id":2,"sys_time": "2015-03-09 15:15:08", "loc_time": "2015-03-09 15:15:38", //與id為3的重復(但是因為sys_time 已經和id為1的重復了 , 實際上不會再參與 loc_time的去重)}, {"id":3,"sys_time": "2015-03-09 15:16:08", "loc_time": "2015-03-09 15:15:38", },{"id":4,"sys_time": "2015-03-09 15:17:08", "loc_time": "2015-03-09 15:17:38", }]// for(n in tmp){// tmp[n].sys_time = new Date(tmp[n].sys_time).getTime();// }var result = [], hash = {}; hash_ = {}for (var i = 0; i<tmp.length; i++) {var elem = tmp[i].sys_time; var elem_ = tmp[i].loc_time; if (!hash[elem]) {if (!hash_[elem_]) {result.push(tmp[i]);hash_[elem_] = true;};hash[elem] = true;}}console.log(result)</script>

vue雙向數據綁定

數據變化更新視圖,視圖變化更新數據:data如何更新view,因為view更新data其實可以通過事件監聽即可,比如input標簽監聽 ‘input’ 事件就可以實現了。

雙向綁定
v-model 用于表單信息的接收

<input type="text" name="username" v-model="username"> <p>{{ username }}</p> data: {username: '初始化的默認值'}


【vue的雙向綁定原理及實現 - canfoo#! - 博客園】https://www.cnblogs.com/canfoo/p/6891868.html

vue數據列表渲染key屬性

Key值的存在保證了唯一性,vue在執行的時候,會對節點進行檢查,如果沒有key值,那么vue檢查到這里有dom節點,就會對內容清空并且重新賦值,如果有key值存在,那么會對新老節點進行比較,比較兩者key值是否相同,來進行調換位置或者刪除等操作。

mysql和mongdb數據庫的區別

為啥問這個?因為我們學了這兩個數據庫,面試官也想了解一下是不是真的學了吧。
MYSQL為關系型數據庫,在不同的引擎上有不同的存儲方式。
查詢語句使用傳統sql語句,有較為成熟的體系,mongdb查詢語句是findeOne或者find這樣。
強大的社區以及開發文檔。
在海量數據處理的時候效率會顯著變慢。

MongoDB為非關系型數據庫(文檔型數據庫), 將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。
不支持事務操作、mongodb占用空間過大、開發文檔不是很完全,完善。

傳統的關系數據庫一般由數據庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由數據庫(database)、集合(collection)、文檔對象(document)三個層次組成。
MongoDB對于關系型數據庫里的表,但是集合中沒有列、行和關系概念,這體現了模式自由的特點。

總結

以上是生活随笔為你收集整理的DAY14刷面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www日日日 | 国产一级二级三级在线 | 视频一区二区三区在线 | 青青草视频污 | 亚洲精品一区二区三区婷婷月 | 内裤摩擦1v1h | 上原亚衣av一区二区三区 | 特黄1级潘金莲 | 一本—道久久a久久精品蜜桃 | 日韩一级黄 | 91小视频| 国产在线h| 女警白嫩翘臀呻吟迎合 | 久草网视频在线观看 | 天天操天天操天天 | 人妻洗澡被强公日日澡电影 | 91视频在线视频 | 亚洲不卡视频在线 | 一区二区三区视频在线观看免费 | 国产一区二区在线视频观看 | 亚洲精品粉嫩小泬 | 女人下面无遮挡 | 国产鲁鲁视频在线观看免费 | 亚洲免费久久 | 久久精品视频偷拍 | 国产毛片视频网站 | 国产日韩在线播放 | 精品一二三区 | 波多野结衣亚洲一区 | 亚洲成人高清在线观看 | 国产成人免费在线 | 天堂免费在线视频 | 青草超碰| 成年人免费黄色片 | 国产高清在线不卡 | 成熟了的熟妇毛茸茸 | 久久伊人免费视频 | 欧美日韩高清在线 | 亚洲人成电影在线 | 99热99| 91视频综合网 | 九九热8 | 69精品人人人人 | 国产精品白嫩白嫩大学美女 | 久久亚洲一区二区 | 古装三级吃奶做爰 | 欧美国产日韩在线视频 | 欧美粉嫩videosex极品 | 中文字幕观看av | 欧美一区二区三区爱爱 | 色欲av伊人久久大香线蕉影院 | 大香蕉精品一区 | 国产成人av网站 | 美女视频黄是免费 | 极品美女啪啪 | 欧美成人免费在线 | 中出在线视频 | va视频在线| 亚洲一级免费视频 | 日韩精品在线电影 | 亚洲涩涩视频 | 国产第一草草影院 | 黄色av免费看 | 中文字幕第88页 | 亚洲激情精品 | 中文精品在线观看 | 手机版av| 久久精品这里 | 欧美 日韩 国产精品 | 国产麻豆一区二区三区在线观看 | 国产a级免费视频 | 麻豆视频软件 | 3d动漫精品啪啪一区二区免费 | 香港台湾日本三级大全 | 婷婷五月综合久久中文字幕 | 欧美另类综合 | 日本一级免费视频 | 日本不卡高清视频 | 一区二区三区四区五区六区 | 日韩欧美综合在线 | 欧美1234区 | 一区二区三区国产在线观看 | 亚洲一区二区在线播放 | 欧美人与禽猛交乱配视频 | 国产一区二区日韩 | 91av国产精品 | 日韩精品一区二 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 制服丝袜第一页在线观看 | 色婷婷亚洲| 超碰人人在线观看 | 国产精品成人一区二区 | 女性毛片| 精品人妻av一区二区 | 欧美在线一级片 | 婷婷影院在线观看 | 成人拍拍拍 | 在线观看福利片 | 男人日女人的网站 |