js數(shù)組push數(shù)組 javascript數(shù)組去重的方法是怎樣的?
javascript數(shù)組去重的方法是怎樣的?過去我們總是看三大去重點的總結(jié)和五大去重點的總結(jié)。有時,為了方便使用,我們不得不省下幾篇文章。這次,一個就夠了!方法一:思路:首先定義一個“新數(shù)組”并存儲“
javascript數(shù)組去重的方法是怎樣的?
過去我們總是看三大去重點的總結(jié)和五大去重點的總結(jié)。有時,為了方便使用,我們不得不省下幾篇文章。
這次,一個就夠了
!方法一:
思路:首先定義一個“新數(shù)組”并存儲“源數(shù)組”的第一個元素(要復(fù)制的數(shù)組,以下簡稱源數(shù)組),然后將源數(shù)組和新數(shù)組的元素逐一比較,如果不同,則存儲在新數(shù)組中。
方法2:
想法:首先對源數(shù)組進(jìn)行排序,將其與相鄰數(shù)組進(jìn)行比較,如果不同,則將其保存到新數(shù)組中。
方法三:
思路:利用object屬性的屬性,如果沒有這樣的屬性,則存儲在新的數(shù)組中。
方法四:
思路:使用數(shù)組下標(biāo)屬性的indexof進(jìn)行查詢。
方法5:
想法:在array prototype對象上使用include方法。
方法6:
想法:使用過濾器并在array prototype對象上包含方法。
方法7:
想法:使用foreach并包含數(shù)組原型對象上的方法。
方法8:
想法:在array prototype對象上使用拼接方法。
方法9:
想法:對數(shù)組原型對象使用lastIndexOf方法。
方法10:
想法:使用ES6的set方法。
高級:畫龍點睛,一行代碼
方法10 1:
想法:使用ES6擴(kuò)展運算符(…)在內(nèi)部用于。。。方法102:
思路:對數(shù)組原型對象和ES6的map對象使用filter函數(shù)保存鍵值對。任何值(對象或原始值)都可以用作鍵或值。
既然Javascript有這么多缺陷,那為什么人們不參考它的功能開發(fā)一門新語言而是一直對它修改呢?
JavaScript語言只花了十天時間就設(shè)計好了,自然的設(shè)計并不完美。甚至,一旦頁面打開,彈出的小廣告,都是用JS完成的。隨著Google地圖等應(yīng)用程序的發(fā)布,AJAX技術(shù)徹底火了JS,很多應(yīng)用程序使用AJAX,最重要的技術(shù)就是JavaScript。
盡管JavaScript有缺陷,但它仍在不斷升級。經(jīng)過不斷的改進(jìn),現(xiàn)在的JS應(yīng)該說是優(yōu)秀的。隨著大前端時代的到來,節(jié)點.js, 虛擬用戶.js等等技術(shù),也讓JS的地位不可動搖。想要完全取代JS,不是一夜之間。微軟推出了typescript,谷歌推出了dart來取代JS,但現(xiàn)在看來還有很長的路要走。
沒有語言是完美的,就像沒有人是完美的一樣。程序員只需要找到最合適的語言。在未來,也許有一天,一種新的語言將取代JavaScript。