0

こんにちは、アイテムである文字列を保持し、区切り文字が (:) である金額を保持する配列を分割するコードが必要です。(例: Gas:30 ) transArray からの要素を、アイテム フィールドと金額フィールドの hmtl texbox の値にロードします。どんな助けでも大歓迎です!

var load = function ()
{

   mySetArray();  //Fills the transArray randomly with 1-4 items
   var item = '';
   var amount = '';

   for ( i=1; i<=transArray.length; i++)
   {
    item = 'item' + i;
    amount = 'amount' + i;
    transArray.split(":");      
   }
}

  var mySetArray = function ()
  {

 var myRandom = Math.floor((Math.random() * 100) / 25) + 1;  //a number between 1      and 4

 transArray = new Array();  //Resets the Array to empty

 if (myRandom == 1)
 {
    transArray[0] = "Food:200";
 }

 if (myRandom == 2)
 {
    transArray[0] = "Food:200";
    transArray[1] = "Toys:700";
 }

 if (myRandom == 3)
 {
    transArray[0] = "Food:200";
    transArray[1] = "Toys:700";
    transArray[2] = "Mortgage:1800";
 }

 if (myRandom == 4)
 {
    transArray[0] = "Food:200";
    transArray[1] = "Toys:700";
    transArray[2] = "Mortgage:1800";
    transArray[3] = "Cable:130";
 }
     }

      window.onload = function ()
    {
$("load").onclick = load;
    }
4

5 に答える 5

0

変化する:

for ( i=1; i<=transArray.length; i++) {
    item = 'item' + i;
    amount = 'amount' + i;
    transArray.split(":");      
}

for ( i=1; i<=transArray.length; i++) {
    item = 'item' + i;
    amount = 'amount' + i;
    var splitted = transArray[i].split(":"); <-- split each item in transArray 
    console.log(splitted);
}
于 2013-10-17T05:20:05.697 に答える
0

ここで、transArray は配列です。その値に分割を使用する必要があります。transArray[i].split(":");

したがって、次のようにコードを更新します。

for ( i=1; i<=transArray.length; i++)
   {
      item = 'item' + i;
      amount = 'amount' + i;
      var splittedData = transArray[i].split(":");      
      // It will give Item in 0th index and amount in 1st field. 
   }
于 2013-10-17T05:25:52.573 に答える
0

配列を分割するには、次のようにします。

transArray[0] = "Food:200";

分割を使用するだけです:

var newArray = transArray[0].split(':');
// newArray[0] = 'Food', newArray[1] = '200'
于 2013-10-17T05:16:45.423 に答える
0
var arr = new Array();
arr[0] = "Gas:200";

var newArr = arr[0].split(':');
于 2013-10-17T05:58:43.897 に答える
0

JSFIDDLE デモ

必要な場所で、またはそのままロード関数を呼び出します(私が行ったように)

function load()
{

   transArray = mySetArray();  //Fills the transArray randomly with 1-4 items
   var item = '';
   var amount = '';

   for ( i=0; i<=transArray.length; i++)
   {
    ar = transArray[i].split(":");
    alert((i+1)+" Item="+ar[0] + " Amount="+ ar[1]); // You ca use it in your own way
   }
}
load();

  function mySetArray()
  {

 var myRandom = Math.floor((Math.random() * 100) / 25) + 1;  //a number between 1      and 4

 transArray = new Array();  //Resets the Array to empty

 if (myRandom == 1)
 {
    transArray.push("Food:200");
 }

 if (myRandom == 2)
 {
    transArray.push("Food:200");
    transArray.push("Toys:700");
 }

 if (myRandom == 3)
 {
    transArray.push("Food:200");
    transArray.push("Toys:700");
    transArray.push("Mortgage:1800");
 }

 if (myRandom == 4)
 {
    transArray.push("Food:200");
    transArray.push("Toys:700");
    transArray.push("Mortgage:1800");
    transArray.push("Cable:130");
 }
      return transArray;
}
于 2013-10-17T06:28:12.193 に答える