概して、面接のプロセスから私は多くのことを学びました。主なことは、自分のギャップがどれほど大きく、自分の知識がどれほど狭いかを理解することです。それでも、自分の自信に適切な打撃を与える必要があります。ここでは、JavaScript における配列の重複排除の問題に関する包括的な概要を示します。
単純な問題から複雑な問題まで受け入れるのは比較的簡単です。まず、複製する配列が比較的単純であると仮定します。たとえば、
var arr=[1,2,2,3,'5',6,5,'',' ']
この配列には数値と文字列のみが含まれます。配列プロトタイプに独自の重複排除メソッドを追加します。もちろん、この配列のコピーを作成し、2 つの配列をループするという、簡単に考えられる最初のメソッドを使用します。現在の値を後続のすべての値と比較し、値が後続のすべての値と等しいかどうかを確認し、等しくない場合は値を新しい配列に格納し、最後に新しい配列を返します。メソッドは次のとおりです:
//最初のメソッド
Array.prototype.distinct=function(){
var clone,newArr=[],n=0;
if(this.lengthfor( var i=0,len=this.length;i
n
}
}
if(n==(len-i-1)){
newArr .push(this[i ])
}
n=0;
return newArr;
console.log([1,2,2,3,' 5',6,5 ,'',' '].distinct());
/*チェックされたラジオの値を取得します*/
function GetRadioValue(RadioName){
var obj; >obj=document.getElementsByName (RadioName);
if(obj!=null){
for(i=0;i
return obj[i].value;
}
}
return
}
/*Set選択された属性*/
function SetRadioCheck(RadioName,i){
var obj;
obj[i].setAttribute("checked","checked) ");
}
これは基本的に私たちのニーズを満たすことができます。このような単純な型を比較するのにそれほど頭脳は必要ありませんが、配列が非常に長い場合はどうなるでしょうか?この方法で配列を走査すると、配列の長さは n になり、時間計算量は n*n になります。明らかに、このメソッドのパフォーマンスを改善する必要があります。次に 2 番目の方法です。配列の並べ替えを使用して、並べ替えプロセス中に重複する値を削除します。
コードをコピー
コードは次のとおりです:
self.splice(n,1);
return self;
}
console.log([1,2,2,3,'5',6,5,6,6,15,5,'5',5,'',' '].distinct ( ));
このコードははるかに短いようで、for ループさえありませんが、ソート効率はそれほど高くありません。 3 番目の実装方法を見てみましょう。重複した名前を持たないオブジェクト属性を使用する原則
コードをコピーします
3 番目のメソッドを実行し、結果を確認します。結果は上記の方法と同じであることがわかります。よく見ると、数値 5 と文字列 5 が重複した値として削除されていることがわかります。型を保存してから等しいか判断する必要があるようなので、以下の3番目のメソッドの補足版があります
Copy code
コードは次のとおりです:
Array.prototype.distinct=function(){
var newArr=[],obj= {};
上の例は非常に単純な型です。より複雑な型でテストしてみましょう
コードをコピー
コードは次のとおりです:
console.log([1,null,2,{a:'vc'},{},'5',6,5,6,{a:'vv'},15,5, '5',5,'',' ',[1],[1],[1,2],,].distinct());
{a:'vc' が見つかりました},{},{a:'vv'}これらのさまざまなオブジェクトは、配列内にオブジェクトが存在する場合でも削除されます。オブジェクト内のプロパティと値を引き続き調べ、拡張を続けます。 3 番目のメソッド
// 3 番目の拡張バージョンMethod
Array.prototype.distinct= function(){
var SameObj=function(a,b){
var tag = true;
if(!a||!b)return false;
for(var x in a) {
if(!b[x])
return false;
if(typeof(a[x])==='object'){
tag=sameObj(a[x], b[x]);
if(a[x]!==b[x])
return false; 🎜>}
タグを返します;
}
var newArr=[],obj={};
for(var i=0,len=this.length;i
newArr.push(this[i]); this[i]) this[i]] =this[i];
}
}
return newArr;
}
上記の例を使用すると、もちろん、このテストはさらに複雑になる可能性があるため、現時点では、この方法はインターネット上で比較的完成されています。より完全な方法、お気軽に教えてください。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
