可以在这里删除变量吗?

时间:2013-09-13 01:42:35

标签: javascript

在nczonline的这个函数中,我注意到左边和右边都被复制到了i和j,但是之后再也没用过。有没有办法消除左右和i和j?

function partition(items, left, right) {
    var pivot   = items[Math.floor((right + left) / 2)],
        i       = left,
        j       = right;
    while (i <= j) {
        while (items[i] < pivot) {
            i++;
        }
        while (items[j] > pivot) {
            j--;
        }
        if (i <= j) {
            swap(items, i, j);
            i++;
            j--;
        }
    }
    return i;
}

2 个答案:

答案 0 :(得分:0)

它只是存在,因此在函数的其余部分重复使用它时会更短。

使用i&amp; j直接作为参数名称不够描述,因此他将它们分配给函数体内的较短变量。

答案 1 :(得分:0)

是的,您可以将i的所有实例替换为left,将j的所有实例替换为right

但你为什么要这样做?