JavaScript 配列の一般的な操作の概要と共有
この記事では、配列の作成、配列かどうかの判断、配列のような変換と配列の変換、配列の重複排除に関連する問題など、javascript での一般的な配列操作に関する関連知識を提供します。助けなければなりません。
関連する推奨事項: JavaScript 学習チュートリアル
配列の作成
配列の作成は、
const arr = [1,2,3] // 数组字面量const arr = [,,,] // 三元素空位数组(hole array)const arr = new Array(4) // [,,,,]const arr = new Array(4,2) // [4,2]const arr = Array.of(1,2,3) // [1,2,3]
その中でもよく使われるのが配列リテラル方式です。
配列かどうかを判断する
配列であるかどうかを判断する主な方法は次のとおりです。
// 方法一[1,2,3] instanceof Array // 方法二[1,2,3].constructor === Array // 方法三Object.prototype.toString.call([1,2,3]) === '[object Array]' // 方法四Array.isArray([1,2,3]) // 方法五(兼容写法)function isArray(arr){ return Array.isArray ? Array.isArray(arr):Object.prototype.toString.call(arr) === '[object Array]'}
一般的に最もよく使用される方法は isArray## です。 #。
const x = document.querySelectorAll('a'); // 方法一Array.prototype.slice.call(x); // 方法二Array.from(x);Array.from(x,mapFn,thisArg); // 方法三[...x] // 方法四function toArray(x){ let res = [] for(item of x){ res.push(item) } return res} // 方法五Array.apply(null,x) // 方法六[].concat.apply([],x)
Object.is を比較に使用します。
function unique(arr){ return Array.from(new Set(arr)) // return [...new Set(arr)]}
function unique(arr){ for(let i = 0;i < arr.length;i++){ for(let j = i + 1;i < arr.length;j++){ if(Object.is(arr[i],arr[j])){ arr.splice(j,1) j-- } } } return arr}
function unique(arr){ const res = [] arr.forEach((item,index) => { // 也可以 if(res.indexOf(item) == -1),但是无法正确判断 NaN if(!res,includes(item)){ res.push(item) } })}
function unique(arr){
return arr.reduce((acc,cur) => {
// return acc.includes(cur) ? acc : acc.concat(cur)
return acc.includes(cur) ? acc : [...acc,cur]
},[])}
ログイン後にコピー
5) 新しい配列を作成します sortソートのメカニズムに従って(各要素に対して toStrng を呼び出し、文字列レベルでソートします)、等しい要素が一緒にクラスター化されるようにします。新しい配列を作成します。配列に要素を追加する前に、その要素が前の要素と等しいかどうかを確認してください。等しい場合、それは繰り返し要素です:
function unique(arr){ return arr.reduce((acc,cur) => { // return acc.includes(cur) ? acc : acc.concat(cur) return acc.includes(cur) ? acc : [...acc,cur] },[])}
function unique(arr){ arr.sort() const res = [arr[0]] for(let i = 1;i < arr.length;i++){ if(!Object.is(arr[i],arr[i-1])){ res.push(arr[i]) } } return res}
// 对象属性值可以认为是元素重复的次数function unique(arr){ const res = [] const obj = {} arr.forEach((item,index) => { if(!obj[item]){ res.push(item) obj[item] = 1 } else { obj[item]++ } }) return res}
obj[true] と
obj["true"] は等しいとみなされ、要素
true## になります。 # または要素 "true"
が存在しない 新しい配列に入れることができます7) マップ
の使用は本質的に上記の方法と同じですが、新しい配列を作成する必要があります:
function unique(arr){ let map = new Map() for(item of arr){ if(!map.has(item)){ map.set(item,true) } } return [...map.keys()]}
8) filter indexOf
重複する要素を削除します。これを理解するもう 1 つの方法は、
index が次の要素と等しい要素を保持することです。 が最初に出現したときのindex。そのような要素はフィルターで除外できます。それを配列に入れます: function unique(arr){
return arr.filter((item,index) => index === arr.indexOf(item))}
関連する推奨事項:
JavaScript 学習チュートリアル以上がJavaScript 配列の一般的な操作の概要と共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。
