Heim > Web-Frontend > js-Tutorial > Lustige Fragen zu JavaScript: Was ist drin?

Lustige Fragen zu JavaScript: Was ist drin?

黄舟
Freigeben: 2017-02-13 16:02:44
Original
1064 Leute haben es durchsucht

Es ist bekannt, dass es zwei String-Arrays gibt, nennen wir sie a1, a2.

Die aktuelle Aufgabe besteht darin, alle Elemente aus a1 zu finden, die Teilzeichenfolgen von Elementen in a2 sind, und sie in einem neuen Array zu speichern.

Sortieren Sie dieses neue Array in lexikografischer Reihenfolge und geben Sie es zurück.

Ein Beispiel:

a1 = ["arp", "live", "strong"]

a2 = ["lively", "alive" , „harp“, „sharp“, „armstrong“]


Return[„arp“, „live“, „strong“]

Hier ist "arp" ein Teilstring von "harp" und "live" ein Teilstring von "lively", also es kann zurückgegeben werden.

Sehen Sie sich ein anderes Beispiel an:

a1 = ["tarp", "mice", "bull"]

a2 = ["lively", "alive „“, „harp“, „sharp“, „armstrong“]


Zurück zu []

hiera1 Keiner von ihnen entspricht den Teilzeichenfolgenregeln, daher wird ein leeres Array zurückgegeben.

Okay, mal sehen, wie man es löst:

Wenn ich den Teilstring sehe, brauche ich zunächst eine Möglichkeit zu beurteilen, ob es sich um einen Teilstring handelt:


if(typeof String.prototype.isSubstringOf === "undefined"){
    String.prototype.isSubstringOf = function(str){
        return str.indexOf(this) >= 0;
    };
}
Nach dem Login kopieren

Gehen Sie dann nacheinander a1 durch und bestimmen Sie, ob das aktuelle Element eine Teilzeichenfolge des Elements in a2 ist Schieben Sie es also in ein neues Array.

Dann, wenn die Schleife endet, wird das neue Array gefüllt.

Wie führt man eine lexikografische Sortierung durch? Müssen wir noch Algorithmen schreiben?

So kompliziert ist die Sortierung in JavaScript standardmäßig nicht.

Dann sortieren Sie einfach direkt das neue Array und kehren zurück!


function inArray(array1,array2){
    var newArray = [];
    for(var i=0;i<array1.length;i++){
        var temp = array1[i];
        if(temp){
            for(var j=0;j<array2.length;j++){
                if(temp.isSubstringOf(array2[j])){
                    newArray.push(temp);
                    break;
                }
            }
        }
    }
    return newArray.sort();
}
Nach dem Login kopieren


Das Obige ist eine interessante JavaScript-Frage: Was ist drin? Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage