JavaScript は複数の配列の共通部分を取得します
Nov 25, 2016 pm 01:23 PMプロジェクトでは、複数の配列の共通部分を取得する必要があるため、この例は特定のシナリオにのみ適しています。たとえば、 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 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>

人気の記事

人気の記事

ホットな記事タグ

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

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

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

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

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

ホットトピック









