0

私はPHPでこれを行う方法を知っていますが、JavaScript配列に取り組んでおり、多くの問題を引き起こしています。

私は常に次のように設定される配列を持っています:

array[0] => Keyword
array[1] => String 1
array[2] => String 2
array[3] => String 3
array[4] => Keyword
array[5] => String 4
array[6] => String 5
array[7] => Keyword

これはしばらく続く可能性があるので、私の質問は、この配列を自動的に解析して、キーワードが含まれなくなり、キーワード内の値を結合する方法です。つまり、文字列1 + 2 + 3は1つの文字列全体であり、文字列4 +5は1つの文字列全体です。

4

2 に答える 2

1

キーワードが文字列に存在しない場合は、それを行うことができます

array.join("").split("Keyword")

(可能な空の最初と最後の要素も削除する必要があります) そうではなく、文字列またはキーワードに存在しない 2 つの文字、たとえば#and%を見つけることができた場合、次のようにすることができます。

array.join("#").replace(/(^|#)Keyword(#|$)/g, "%").replace(/#/g, "").split("%")
于 2012-06-25T16:54:09.820 に答える
0
function transformArr(inputArr) {
    var resultArr = [];
    var buildString = "";
    for (i = 0; i < inputArr.length; i++) {
        if (inputArr[i] == 'Keyword') {
            if (buildString != "") {
                resultArr.push(buildString);
                buildString = "";
            }
        } else {
            buildString += inputArr[i];
        }
    }
    if (buildString != "") {
        resultArr.push(buildString);
    }
    return resultArr;
}
array = [];
array[0] = 'Keyword';
array[1] = 'String 1';
array[2] = 'String 2';
array[3] = 'String 3';
array[4] = 'Keyword';
array[5] = 'String 4';
array[6] = 'String 5';
array[7] = 'Keyword';

var result = transformArr(array);
console.log(result);
于 2012-06-25T18:17:18.560 に答える