0

他の配列の日付を抽出して配列を作成し、値をコンマで区切って文字列にしたい。

      array.push({date:created_at,username:user});
      for (i in array) {
      var combined=new array();
      combined = array[i].date;
                }   
      console.log(combined);

私はJavaScriptを初めて使用し、配列を追跡するのは難しいです。ありがとう!誰かが私にjavascriptの良い本を勧めてもらえますか?

4

3 に答える 3

1

これを試して

var originalArray = [{date:"2012-01-01", username: "first"}, {date:"2012-01-02", username: "second"}];

// First step: Get a dateArray with only the dates
var dateArray = [];
for (var i in originalArray) {
    dateArray.push(originalArray[i].date);
}   

// Or if you prefer to cut a few lines
// dateArray = originalArray.map(function(x) { return x.date; } );

// Second step: Get it as a comma separated string
var datesString = dateArray.join(",");

console.log(dateArray); // ["2012-01-01","2012-01-02"]
console.log(datesString); // 2012-01-01,2012-01-02

最も人気のある本の1つは、DouglasCrockfordによる「JavascriptTheGoodParts」です 。http: //www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

于 2012-07-27T13:45:13.987 に答える
0

私は個人的にJavascriptの良い部分に偏っていますが、プログラミング用の本に関するコミュニティwiki全体があります。文字列を使用する場合の質問については、結合された変数に配列ではなく文字列を使用する必要があります。

array.push({date:created_at,username:user});
var combined = array.map(function(a) { return a.date; }).join(", ");

確かにそれを行うためのより良い方法がありますが、これはうまくいく何かの簡単な例にすぎません。文字列と連結することにより、array [i] .dateがまだ文字列になっていない場合は、暗黙的に文字列にキャストします。

編集:私のコードがそれほどひどくないように修正しました。

于 2012-07-27T13:46:09.773 に答える
0

ここにコードがあります:

var firstArray = new Array(new Date(), "hello", "something", new Date());
var combined = new Array();

for(i in firstArray) {
   if(firstArray[i] instanceof Date) {
      combined[combined.length] = firstArray[i];
   }
 }

 var theString = combined.join(",");

 alert(combined.length);
 alert(theString);
于 2012-07-27T13:57:35.583 に答える