首页 > 解决方案 > Javascript数组值不能重新排序

问题描述

我有一个数组,其值为:[1,"",2,"",3,4,5,6,7](大小:9)

我尝试at index 1 用我期望的数组的序列号更新“”(空字符串),如下所示:[1,2,3,"",4,5,6,7,8] (size : 9)

我尝试像这样更新 val

   var update =  updateOtherVals(arr.slice(index));
   Array.prototype.splice.apply(arr, [index+1, update.length].concat(update));

function updateOtherVals(arr){
        arr.shift();

        for (var i = 0; i < arr.length; i++){
            if (arr[i] != "") 
            {
                arr[i] = arr[i] + 1;
            }
        }
        return arr;
    }

这是我在我的应用程序上实现的小提琴https://jsfiddle.net/vo0yt6eL/1/的尝试(实际上,如果用户在指定行选择“istirahat”,则该行的数字为空但下一行(列jam ke)已填充有序列号),我被困了2天

任何人都可以帮助我吗?

标签: javascriptjqueryarraysarraylist

解决方案


这个怎么样:

function getValues(length, emptyIndex) {
  const values = [];

  for(let i = 1; i <= length; i++) {
    const value = i === emptyIndex ? "" : i;
    values.push(value);    
  }

  return values;
}

// In on change
if ($(this).val() == "istirahat")  {
  arr = getValues(index);
}

推荐阅读