0

「|」で区切られた文字列で構成される配列があります。

LOG: 380|2|choice|Question_8_13240_1351170102936|||incorrect|2012-10-25T15:01:13|1|<ln>380|2|choice|Question_10_13280_1351170102995|||incorrect|2012-10-25T15:01:17|1| 

各文字列から Question_8_13240_1351170102936 を取得して、重複した質問があるかどうかを確認できるようにする必要があります。そして4日目前

配列を構築するコード:

 AssessmentManager.prototype.submit = function () {
  assessData = "";
  assessmentItemsLength = this.assessmentItems.length;
  for (i = 0; i < this.assessmentItems.length; i++) {
    if (!this.assessmentItems[i].getSubmitted()) {
      assessmentFlatDataItem = this.assessmentItems[i].getFlatData();
      if (assessmentFlatDataItem.length > 0) {
        if (assessData.length > 0)
          assessData += "<ln>";
          assessData += assessmentFlatDataItem;
        }
      }
    }
  }

次に GetFlatdata:

  AssessmentItem.prototype.getFlatData = function () {
  result = _userScormModuleId + "|";

  if (this._interactionIdx)
    result += this._interactionIdx;
  result += "|";

  if (this._interactionType)
    result += this._interactionType
  result += "|";

  if (this._interactionId)
    result += this._interactionId
  result += "|";

  if (this._learnerResponse)
    result += this._learnerResponse
  result += "|";

  if (this._correctResponse)
    result += this._correctResponse
  result += "|";

  if (this._result)
    result += this._result
  result += "|";

  if (this._timeStamp)
   result += this._timeStamp
  result += "|";

 if (this._weighting)
   result += this._weighting
 result += "|";

 if (this._description)
  result += this._description

  return result;
}

どうすればこれを達成できますか? ありがとう

私は今これを持っています:

 learnerResponsesArray.push({ 
    key: j,
    value:  this.assessmentItems.split('<ln>')
  });

次に、learnerResponsesArray をループしますか?

4

3 に答える 3

2
var cells = mystring.split("|");
// nth item...
var myitem = cells[n];

しかし、@ mori57 が言ったように、JSON の代わりにこの形式を使用するのはなぜですか?

于 2012-10-25T13:12:37.403 に答える
0

3d と 4th の間の値が必要な場合は|、次を使用できます。

var fourthelement = [yourstring].split(/\|/,4).pop();
于 2012-10-25T14:05:54.157 に答える
0

これを試して

str = "LOG: 380|2|choice|Question_8_13240_1351170102936|||incorrect|2012-10-25T15:01:13|1|<ln>380|2|choice|Question_10_13280_1351170102995|||incorrect|2012-10-25T15:01:17|1| "
console.log(str.split(":")[1].split("|")[3])
于 2012-10-25T13:16:09.233 に答える