ホームページ ウェブフロントエンド jsチュートリアル JavaScript は複数の配列の共通部分を取得します

JavaScript は複数の配列の共通部分を取得します

Nov 25, 2016 pm 01:23 PM
JavaScript

プロジェクトでは、複数の配列の共通部分を取得する必要があるため、この例は特定のシナリオにのみ適しています。たとえば、 A array var a = {1000,10001,10002,10003}; B array var b = {10002, 10003}; C array var c = {10003}; これら 3 つの配列の交差配列を取得する必要があります。
具体的なアイデアは次のとおりです。まず最小の配列を配列 A として初期化し、要素の最小数も配列 A の長さとなります。次に、各配列を反復処理して、これらの配列の最短の長さを最小長として取得し、同時に最短の長さの配列を取得します。次に、最小配列と各配列を反復し、要素が等しいかどうかの比較を開始し、カウンターを使用して要素が各配列に存在するかどうか、交差要素であるかどうかを判断します
このアイデアは比較的単純ですが、次のように実現できます。複数の配列の交差を取得するコードは次のとおりです。

HTML コード
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<TITLE>
<META NAME="Generator" CONTENT="EditPlus"> <META NAME="キーワード" CONTENT="">
<META NAME= "説明" CONTENT="">
<script>
function getValues(obj){
var 値 = "";
var l = obj。 options.length;
for (var i=0; i<l; i++) {

値 += obj.options(i).value ;
{
var tAry = src.split("_");
の tAry t-Ary の src.split("_"); length 最小の配列
minAry = tAry[0].split(","); 、 ");

‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐----アラート("最小配列: "+minary);            var ret = ''; 
for (var i = 0, len = minAry.length; i var srcNum = parseInt(minAry[i]); 
var counter = 0; 
for (var j = 0, ll = tAry.length; j<ll; j++) {
var tt = tAry[j].split(","); 
for (var k = 0, l = tt.length; k<l; k++) {
var tarNum = parseInt(tt[k]); 
if (srcNum == tarNum) {
counter ++; 
}
}
}
if (counter == tAry.length) {
ret += srcNum + ","; 
}
}
ret = strSlice(ret, ','); 
alter("交集是:" + ret); 
}

//去掉结尾分間隔符
function strSlice(str, split){
if ((str!=null && str!="") && (split!=' '))
return ((str.charAt (str.length-1) == 分割) ? str.substring(0, str.length-1) : str); 
else
return str; 
}
</script> 

</HEAD> 

<BODY> 
<button onclick="javascript:_test();">测试</button> 

<name="aa" id="aa" size="6" を複数選択> 
<OPTION value="10004,10005,10008,10009,10010,10018">测试1</OPTION> 
<OPTION value="10004,10005,10006,10008,10009,10010,10018">测试2</OPTION> 
<OPTION value="10004,10005,10006,10008,10009,10010,10018">测试3</OPTION> 
<OPTION value="10004,10006,10008">测试4</OPTION> 
<OPTION value="10004,10010,10018">测试5</OPTION> 
</select> 

</BODY> 
</HTML> 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScriptの文字列文字を交換します

jQuery日付が有効かどうかを確認します jQuery日付が有効かどうかを確認します Mar 01, 2025 am 08:51 AM

jQuery日付が有効かどうかを確認します

jQueryは要素のパディング/マージンを取得します jQueryは要素のパディング/マージンを取得します Mar 01, 2025 am 08:53 AM

jQueryは要素のパディング/マージンを取得します

10 jQuery Accordionsタブ 10 jQuery Accordionsタブ Mar 01, 2025 am 01:34 AM

10 jQuery Accordionsタブ

10 jqueryプラグインをチェックする価値があります 10 jqueryプラグインをチェックする価値があります Mar 01, 2025 am 01:29 AM

10 jqueryプラグインをチェックする価値があります

ノードとHTTPコンソールを使用したHTTPデバッグ ノードとHTTPコンソールを使用したHTTPデバッグ Mar 01, 2025 am 01:37 AM

ノードとHTTPコンソールを使用したHTTPデバッグ

jQueryはscrollbarをdivに追加します jQueryはscrollbarをdivに追加します Mar 01, 2025 am 01:30 AM

jQueryはscrollbarをdivに追加します

カスタムGoogle検索APIセットアップチュートリアル カスタムGoogle検索APIセットアップチュートリアル Mar 04, 2025 am 01:06 AM

カスタムGoogle検索APIセットアップチュートリアル

See all articles