最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在JavaScript中合并兩個(gè)數(shù)組并重復(fù)刪除項(xiàng)目

如何在JavaScript中合并兩個(gè)數(shù)組并重復(fù)刪除項(xiàng)目

如何在JavaScript中合并兩個(gè)數(shù)組并重復(fù)刪除項(xiàng)目我有兩個(gè)JavaScript數(shù)組:var array1 = ["Vijendra","Singh"];var array2 = ["Singh", "Shakya"];我希望輸出為:var array3 = ["Vijendra","Singh","Shakya"];輸出數(shù)組應(yīng)該刪除重復(fù)的單詞。如何在JavaScript中合并兩個(gè)數(shù)組,以便我只按照它們插入原始數(shù)組的順序從每個(gè)數(shù)組中獲取唯一項(xiàng)?
查看完整描述

4 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

僅合并數(shù)組(不刪除重復(fù)項(xiàng))

ES5版本使用Array.concat

var array1 = ["Vijendra","Singh"];var array2 = ["Singh", "Shakya"];var array3 = array1.concat(array2); // Merges both arrays
// [ 'Vijendra', 'Singh', 'Singh', 'Shakya' ]

ES6版本使用解構(gòu)

const array1 = ["Vijendra","Singh"];const array2 = ["Singh", "Shakya"];const array3 = [...array1, ...array2];

由于沒(méi)有“內(nèi)置”方法來(lái)刪除重復(fù)項(xiàng)(ECMA-262實(shí)際上對(duì)此有用Array.forEach),我們必須手動(dòng)完成:

Array.prototype.unique = function() {
    var a = this.concat();
    for(var i=0; i<a.length; ++i) {
        for(var j=i+1; j<a.length; ++j) {
            if(a[i] === a[j])
                a.splice(j--, 1);
        }
    }
    return a;};

然后,使用它:

var array1 = ["Vijendra","Singh"];var array2 = ["Singh", "Shakya"];// Merges both arrays and gets unique itemsvar array3 = array1.c
oncat(array2).unique();

這也將保留數(shù)組的順序(即,不需要排序)。

由于許多人對(duì)環(huán)形Array.prototypefor in循環(huán)的原型擴(kuò)充感到惱火,因此這是一種使用它的侵入性較小的方法:

function arrayUnique(array) {
    var a = array.concat();
    for(var i=0; i<a.length; ++i) {
        for(var j=i+1; j<a.length; ++j) {
            if(a[i] === a[j])
                a.splice(j--, 1);
        }
    }
    return a;}var array1 = ["Vijendra","Singh"];var array2 = ["Singh", "Shakya"];
    // Merges both arrays and gets unique itemsvar array3 = arrayUnique(array1.concat(array2));

對(duì)于那些有幸使用ES5可用的瀏覽器的人,你可以Object.defineProperty像這樣使用:

Object.defineProperty(Array.prototype, 'unique', {
    enumerable: false,
    configurable: false,
    writable: false,
    value: function() {
        var a = this.concat();
        for(var i=0; i<a.length; ++i) {
            for(var j=i+1; j<a.length; ++j) {
                if(a[i] === a[j])
                    a.splice(j--, 1);
            }
        }
        return a;
    }});


查看完整回答
反對(duì) 回復(fù) 2019-05-27
?
蠱毒傳說(shuō)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

這是使用擴(kuò)展運(yùn)算符和數(shù)組泛型的ECMAScript 6解決方案。

目前它只適用于Firefox,可能還適用于Internet Explorer Technical Preview。

但是如果你使用Babel,你現(xiàn)在可以擁有它。

// Input: [ [1, 2, 3], [101, 2, 1, 10], [2, 1] ]// Output: [1, 2, 3, 101, 10]function mergeDedupe(arr){
  return [...new Set([].concat(...arr))];}


查看完整回答
反對(duì) 回復(fù) 2019-05-27
  • 4 回答
  • 0 關(guān)注
  • 1838 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)