配列1

array("test" => "0","test_2"=>"1")
配列2
array(){ [0]=>"**.innerHTML" [1]=>array{[0]=>"test",[1]=>"2"}})
javascriptで上記のような配列があり、配列2の[1]の部分の値を
取得して、文字を連結させて、配列1のキー指定にして、その値を取得して
さらに配列2の[0]を取得して、その戻り値を反映させる事は出来ますか?
function array_marge(配列1,配列2){
alert(aa)
}
aaには**.innerHTML=1
みたいな感じに処理をしたいのですが可能でしょうか?

よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:2007/05/25 11:41:08
  • 終了:2007/05/28 11:05:05

回答(1件)

id:jack_sonic No.1

じゃっくそにっく回答回数123ベストアンサー獲得回数252007/05/25 16:31:17

ポイント60pt

可能です。質問文の仕様通りの動作を書くとこうなります。

配列を処理し、最終的に望む結果の式文字列を生成しalertで表示します。

(指定がなかったので特別な関数の抽象化はしていません。)

質問文の配列の書き方がPHP文法になっていますが、JavaScriptの

ものに変更しておきました。

// 配列1 (連想配列) 定義
var ary1 = { "test": "0", "test_2": "1" };
// 配列2 (通常配列, [1]は更に配列) 定義
var ary2 = [ "**.innerHTML",  ["test", "2"] ];

// 関数呼び出しサンプル
array_marge(ary1, ary2);

/////////////////////////////////////////////
//	質問文の仕様の動作をする関数
//
function array_marge(ary1, ary2)
{
	var strRes="";  //結果文字
	var strLeft=""; //式の左辺
	var strRight="";//式の右辺
	var strKey="";  //配列1の検索キー

	// 配列2[1]の中の配列のメンバを取得し、
	// "_" を挟んで文字列として連結してキーにする
	strKey = ary2[1][0] + "_" + ary2[1][1];
	// キーを元に配列1から値を取得、右辺にする
	strRight = ary1[strKey];
	// 配列2の[0]の値を取得して左辺に
	strLeft = ary2[0];
	// 左辺と右辺を連結して式にする
	strRes = strLeft + "=" + strRight;
	// 生成した式を表示
	alert(strRes);
}
id:hopefully

出来ましたw

ありがとうございます。

2007/05/28 11:04:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません