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 是一整串。

4

2 回答 2

1

如果字符串中不存在关键字,则可以使用

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

(也必须去掉可能的空的第一个和最后一个元素)否则,如果你能找到字符串或关键字中不存在的两个字符,例如#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 回答