从变量值中获取对

时间:2016-12-10 20:37:16

标签: javascript jquery

我有一个变量'getDuplicates',其中包含如下值:

getDuplicates = 100,120,450,490,600,650, ...

这些是对和范围:第一开始,第一结束,第二开始,第二结束

现在我必须循环它们以应用这些范围。

    var getDuplicates = $element.attr('duplicates');
    if (getDuplicates !== undefined && getDuplicates !== null) {
        var noOfDuplicates = (getDuplicates.split(',').length) / 2;
        console.log(getDuplicates, 'Counter:', noOfDuplicates);
        for (var i = 0; i < noOfDuplicates; i++) {
            newRange = rangy.createRange();
            newRange.selectCharacters(rangyElement, **BEGIN, END**);
            var newApplier = rangy.createClassApplier(highlightClass, {
                elementTagName : "span"
            });
            newApplier.applyToRange(newRange);
        }
    }

实际上,我不知道如何设置BEGIN和END。感谢您的提示

1 个答案:

答案 0 :(得分:2)

使用for循环迭代数组,步骤为2(i += 2)。使用括号([])表示法获取开头和结尾。

由于循环使用2的步骤,因此在停止条件中使用array.length而不是noOfDuplicates;

var getDuplicates = "100,120,450,490,600,650";

// you need to split the string, so you'll have an array you can iterate
var duplicates = getDuplicates.split(','); 

for(var i = 0; i < duplicates.length; i += 2) {
  console.log(duplicates[i], duplicates[i + 1]); // 1st is start, 2nd is end
}