国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?

這篇具有很好參考價(jià)值的文章主要介紹了前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、如何判斷對(duì)象具有某屬性?

如:let obj={name:'zhangsan',age:21}
有以下方法 ( property 為屬性名的變量,實(shí)際上是key,鍵名):

1. property in obj

效果如圖:
前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?
in 運(yùn)算符

2. Reflect.has(obj, property)

效果如圖:
前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?
關(guān)于 Reflect:
① 它是JS的一個(gè)內(nèi)置對(duì)象,無構(gòu)造函數(shù),可以用它遍歷對(duì)象的key,如:Reflect.ownKeys(obj) // ['name', 'age'];
② 也可以用它給對(duì)象添加一個(gè)屬性,如:Reflect.set(obj, 'hobby', ['singing','reading']), 返回值是true/false, 如圖: 前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?
③ 無論是自有屬性還是原型上有該屬性,Reflect.has(obj,property)方法都會(huì)返回 true。

3. obj.hasOwnProperty(property)

可以判斷是否是對(duì)象的自有屬性,若有,返回true,否則返回 false(原型鏈上的返回false)。
所有繼承了 Object 的對(duì)象都會(huì)繼承到 hasOwnProperty 方法。用來檢測(cè)一個(gè)對(duì)象是否含有特定的自身屬性;和 in 運(yùn)算符不同,該方法會(huì)忽略掉那些從原型鏈上繼承到的屬性。

4. Object.hasOwn(obj, property)

是 Object 的方法,也是判斷自有屬性的。
不過要注意瀏覽器版本兼容問題,谷歌 93 以上版本才支持。不能貿(mào)然使用。

MDN推薦用該方法替換掉 hasOwnProperty。原話是這樣的:“ 建議使用此方法替代 Object.hasOwnProperty(),因?yàn)樗m用于使用 Object.create(null) 創(chuàng)建的對(duì)象以及覆蓋了繼承的 hasOwnProperty() 方法的對(duì)象。盡管可以通過在外部對(duì)象上調(diào)用 Object.prototype.hasOwnProperty() 解決這些問題,但是 Object.hasOwn() 更加直觀?!?/p>

以下是運(yùn)行結(jié)果圖:
前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?

5. Object.prototype.hasOwnProperty.call 方法

判斷自有屬性:

Object.prototype.hasOwnProperty.call(obj2,'studentId')

前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?

二、遍歷數(shù)組的方法有哪些?

for,for...in,for...of,forEach,map

其中 forEach 會(huì)改變?cè)瓟?shù)組,map 會(huì)返回一個(gè)新的數(shù)組,得到的結(jié)果賦值給一個(gè)新的變量接收,如:


const arr=[1, 2];
const result = arr.map((item, index)=>{
	return item + 1;
})
// result:[2,3] arr還是[1,2]

注意:

  1. for...in 拿到的是數(shù)組下標(biāo),for...of 拿到的是數(shù)組的值;
  2. for...in 能遍歷對(duì)象,拿到的是對(duì)象的keyfor...of 不能遍歷對(duì)象,會(huì)報(bào)錯(cuò) obj is not iterable 不可迭代。

如果附帶其他功能的遍歷:

1、reduce
2、filter
3、some
4、indexOf
5、includes

這里博主只是單純羅列一下。
這些方法什么用處?可以菜鳥教程或mdn查一下,可以見這位同學(xué)的總結(jié)。

三、2023最新前端面經(jīng)及行情分析

點(diǎn)擊這里:前端面經(jīng)文章來源地址http://www.zghlxwxcb.cn/news/detail-400504.html

到了這里,關(guān)于前端基礎(chǔ)面試題:如何判斷對(duì)象是否具有某屬性?遍歷數(shù)組的方法有哪些?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • js判斷一個(gè)數(shù)組中是否有重復(fù)的數(shù)組/ 一個(gè)數(shù)組中對(duì)象的某個(gè)屬性值是否重復(fù)

    js判斷一個(gè)數(shù)組中是否有重復(fù)的數(shù)組/ 一個(gè)數(shù)組中對(duì)象的某個(gè)屬性值是否重復(fù)

    項(xiàng)目中往往會(huì)遇到對(duì)數(shù)組處理是否存在某個(gè)形同的值。或者對(duì)象中是否存在形同元素… 下列方法常用,但不限于。 一、普通數(shù)組數(shù)據(jù) 1.1對(duì)數(shù)組進(jìn)行排序,對(duì)比上一個(gè)元素和下一個(gè)元素是否相等,若相等,則說明數(shù)組有重復(fù)值。 1.2:先將數(shù)組轉(zhuǎn)換成字符串,再遍歷數(shù)組,在字

    2024年02月09日
    瀏覽(42)
  • 微信小程序如何判斷對(duì)象是否為空、判斷值是否存在

    微信小程序如何判斷對(duì)象是否為空、判斷值是否存在

    在 js 文件中需要對(duì) data 里一些的對(duì)象進(jìn)行判斷是否為空 比如這里我要在頁面加載時(shí)判斷 data 中的 record 是否為空: 在 onload() 方法中使用 Object.key().length0 來判斷: Object.keys()方法:將給定對(duì)象的所有可枚舉屬性變成一個(gè)字符串?dāng)?shù)組 解釋:將需要判斷的對(duì)象轉(zhuǎn)換為一個(gè)字符

    2024年02月11日
    瀏覽(203)
  • Go語言如何判斷兩個(gè)對(duì)象是否相等

    在編程中,判斷兩個(gè)對(duì)象是否相等是一項(xiàng)常見的任務(wù),同時(shí)判斷對(duì)象是否相等在很多情況下都非常重要,例如: 單元測(cè)試 :編寫單元測(cè)試時(shí),經(jīng)常需要驗(yàn)證函數(shù)的輸出是否符合預(yù)期,這涉及到比較對(duì)象是否相等。 數(shù)據(jù)結(jié)構(gòu)操作 :在使用 map 等數(shù)據(jù)結(jié)構(gòu)時(shí),可能需要判斷兩個(gè)對(duì)

    2024年02月07日
    瀏覽(646)
  • Java如何優(yōu)雅地判斷對(duì)象是否為空

    點(diǎn)擊下載《Java如何優(yōu)雅地判斷對(duì)象是否為空》 在實(shí)際項(xiàng)目中,我們經(jīng)常需要對(duì)各種變量或?qū)ο筮M(jìn)行判空校驗(yàn)。這是因?yàn)?,如果不進(jìn)行判空校驗(yàn),當(dāng)遇到空值時(shí),可能會(huì)導(dǎo)致程序出現(xiàn)NullPointerException異常。這是一種常見的運(yùn)行時(shí)異常,它會(huì)在試圖訪問或操作空對(duì)象引用時(shí)發(fā)生。

    2024年04月28日
    瀏覽(240)
  • 在JS中如何判斷兩個(gè)對(duì)象是否相等

    在JavaScript中,判斷兩個(gè)對(duì)象是否相等有多種方法,取決于你對(duì) 相等 的定義以及對(duì)象屬性的類型。以下是幾種常見的方法: ? 1. 嚴(yán)格相等運(yùn)算符 (===) 使用 === 運(yùn)算符可以比較兩個(gè)對(duì)象是否引用同一個(gè)對(duì)象。如果兩個(gè)變量引用了同一個(gè)對(duì)象,則它們是相等的,否則它們是不相等

    2024年02月03日
    瀏覽(92)
  • ES6(ECMAScript 2015)有哪些新屬性,如何判斷當(dāng)前瀏覽器是否支持?

    ES6(ECMAScript 2015)有哪些新屬性,如何判斷當(dāng)前瀏覽器是否支持?

    ES6(ECMAScript 2015)引入了許多新的語法和特性,以增強(qiáng) JavaScript 編程語言的功能。以下是一些常見的 ES6 語法和特性以及它們的解釋: let 和 const 聲明 : let 和 const 用于聲明變量,代替了舊的 var 。 let 聲明的變量具有塊級(jí)作用域,而 const 聲明的變量是不可變的(常量

    2024年02月07日
    瀏覽(26)
  • js合并數(shù)組對(duì)象(將數(shù)組中具有相同屬性對(duì)象合并到一起,組成一個(gè)新的數(shù)組)

    js合并數(shù)組對(duì)象(將數(shù)組中具有相同屬性對(duì)象合并到一起,組成一個(gè)新的數(shù)組)

    1.原數(shù)組: 2.合并后數(shù)組: 3.實(shí)現(xiàn)方法: 4.測(cè)試: 1.原數(shù)組: 2.合并后數(shù)組: 3.實(shí)現(xiàn)方法一: 測(cè)試: 4.實(shí)現(xiàn)方法二: 測(cè)試:

    2024年02月08日
    瀏覽(29)
  • web前端面試-- js深拷貝的一些bug,特殊對(duì)象屬性(RegExp,Date,Error,Symbol,F(xiàn)unction)處理,循環(huán)引用weekmap處理

    web前端面試-- js深拷貝的一些bug,特殊對(duì)象屬性(RegExp,Date,Error,Symbol,F(xiàn)unction)處理,循環(huán)引用weekmap處理

    本人是一個(gè)web前端開發(fā)工程師,主要是vue框架,整理了一些面試題,今后也會(huì)一直更新,有好題目的同學(xué)歡迎評(píng)論區(qū)分享 ;-) web面試題專欄:點(diǎn)擊此處 在JavaScript中,深拷貝和淺拷貝是兩種不同的對(duì)象復(fù)制方式。 淺拷貝是指將一個(gè)對(duì)象的引用復(fù)制給另一個(gè)對(duì)象,這意味著兩個(gè)

    2024年02月07日
    瀏覽(28)
  • js中判斷一個(gè)對(duì)象是否存在

    js中判斷一個(gè)對(duì)象是否存在

    一、Boolean()方法 用Boolean()方法可以將Js中的任意數(shù)據(jù)類型轉(zhuǎn)為布爾值: 二、用于判斷xx是否存在 js一般會(huì)自動(dòng)執(zhí)行Boolean()方法,我們可以借此判斷某個(gè)對(duì)象在js當(dāng)前的執(zhí)行環(huán)境中知否存在。如: 又如,可以判斷當(dāng)前環(huán)境下某個(gè)對(duì)象是否存在。 在為一個(gè)元素綁定了某個(gè)事件后,

    2024年02月13日
    瀏覽(96)
  • ES6---判斷對(duì)象是否為{}

    使用 es6 語法判斷一個(gè)對(duì)象是否為 {} 使用ES6的Object.keys()方法,返回值是對(duì)象中屬性名組成的數(shù)組 https://gitee.com/u.uu.com/js-test/blob/master/20240109/a140546.html

    2024年01月19日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包