【问题标题】:Splice not removing item from array javascript拼接不从数组javascript中删除项目
【发布时间】:2015-08-21 11:56:18
【问题描述】:

我的代码中有splice 的问题,我不知道为什么不起作用,我需要从数组中删除最小整数。

这是我的代码:

var players = [
    "Jug 1",
    "Jug 2",
    "Jug 3",
    "Jug 4"
];

var arrTotal = [72, 71, 70, 75];

function winners(arr) {
    var fstPlace = [], sndPlace= [];
    var min = Math.min.apply(null, arr);
    console.log(min);
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] == min) {
            fstPlace.push(arr.indexOf(min, i));
        }
    }
    if (fstPlace.length == 1) {
        console.log("1st: " + fstPlace);
        arr.splice(min, 1);
        console.log(arr);
    }
    else {
        console.log("Tie: " + fstPlace);
    }
}

winners(arrTotal);

【问题讨论】:

    标签: javascript splice


    【解决方案1】:

    您必须提供要删除的项目的索引

    var players = [
      "Jug 1",
      "Jug 2",
      "Jug 3",
      "Jug 4"
    ];
    
    var arrTotal = [72, 71, 70, 75];
    
    function winners(arr) {
      var fstPlace = [],
        sndPlace = [];
      var min = Math.min.apply(null, arr);
      snippet.log('min: ' + min);
    
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] == min) {
          fstPlace.push(arr.indexOf(min, i));
        }
      }
      snippet.log('fstPlace: ' + fstPlace)
      if (fstPlace.length == 1) {
        snippet.log("1st: " + fstPlace);
        arr.splice(fstPlace[0], 1);
        snippet.log('result: ' + arr);
      } else {
        snippet.log("Tie: " + fstPlace);
      }
    }
    
    winners(arrTotal);
    <!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
    <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

    【讨论】:

    • 我不能使用值本身?
    • 谢谢你,Arun,它运行良好。我必须等待 6 分钟才能接受答案。 :)
    猜你喜欢
    • 2012-07-16
    • 2019-10-05
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多