人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

配列の入れ子について質問です。
以下のようなスクリプトを書いたのですが、配列がずれてしまい原因がわかりません。
一つポイントがあり配列arr2の値は変動します。
つまり ['1','2','3','4']の時もあれば、 ['4','2','1','3']の時もあります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<style type="text/css">
.cont {
margin-bottom: 10px;
border: solid 1px #ccc;
}
</style>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.4");</script>
<script type="text/javascript">
//<![CDATA[
$(function() {
var arr1 = ['test1','test2','test3','test4'];
var arr2 = ['4','2','1','3'];//この配列の値は順番が変動する。

for(var i=0; i<arr1.length; i++) {
$(".cont").eq(i).text(arr1[arr2[i]]);
}
});
//]]>
</script>
</head>

<body>

<div class="cont"></div>
<div class="cont"></div>
<div class="cont"></div>
<div class="cont"></div>

</body>
</html>

どなたかご教授頂けたらと思います。

●質問者: 雨の日
●カテゴリ:ウェブ制作 学習・教育
✍キーワード:border CCC CDATA EQ Google
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Cherenkov
●35ポイント ベストアンサー

コメント欄を有効にすると有益です。

質問の意味がわかりません。何をどうしたいのか。

javascriptの配列の添字は0からはじまるので-1してやればいいという話でしょうか?

<script type="text/javascript">
//<![CDATA[
$(function() {
 var arr1 = ['test1','test2','test3','test4'];
 var arr2 = ['4','2','1','3'];//この配列の値は順番が変動する。

 for(var i=0; i<arr1.length; i++) {
 $(".cont").eq(i).text(arr1[arr2[i]-1]); //←ここ
 }
});
//]]>
</script>
◎質問者からの返答

ご回答ありがとうございます。

ありがとうございます。


2 ● deflation
●35ポイント

arr2が '0' から始まらないのが原因です。

var arr2 = ['3','1','0','2'];

とするか

$(".cont").eq(i).text(arr1[arr2[i] - 1]);

としてみてください。

◎質問者からの返答

> arr2が '0' から始まらないのが原因です。

そうだったんですね。

ご回答ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ