【问题标题】:Return array index except a specific index [duplicate]返回除特定索引外的数组索引[重复]
【发布时间】:2018-11-29 18:38:41
【问题描述】:
array["Hi","I","Hate","Love","You"];

如何返回“Hi I Love You”并删除索引“Hate”。

我可以使用 Slice 做到这一点吗?据我所知,如果我使用如下切片:

array.slice(2,3);

它只会返回“仇恨”而不是摆脱它,这正是我想要的。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    有非常相似的功能(语言方面)可以满足您的需要

    const array = ["Hi","I","Hate","Love","You"];
    array.splice(2,1);
    console.log(array);

    稍微升级一下,您就可以询问您的 V8 是否有人喜欢您。只需大声说出他/她的名字,然后点击Run code snippet。第一个回答是真的,你不能对同一个人重复。

    const array = ["Hi","I","Hate","Love","You"];
    let i=0;
    if (Math.random() > 0.5) {
      i++;
    }
    array.splice(2+i,1);
    console.log(array);

    【讨论】:

      【解决方案2】:

      试试splice 方法:

      const a = [1, 2, 3, 4]
      a.splice(1, 1); // idx, count
      console.log(a);
      

      【讨论】:

        【解决方案3】:

        var arr = ["Hi","I","Hate","Love","You"];
        var newarr = Array.prototype.concat(arr.slice(0,2), arr.slice(3));
        console.log(newarr);

        【讨论】:

        • 如果您不希望splice就地更改它,这是一个很好的解决方案
        【解决方案4】:

        _.remove 从 lodash 库中可以完成这项工作。

        _.remove(array, function(item) {
          return item ===“Hate”;
        })
        

        https://lodash.com/docs/#remove

        【讨论】:

          【解决方案5】:

          你可以使用数组过滤方法

          var org = ["Hi", "I", "Hate", "Love", "You"];
          
          let newArray = org.filter(function(item) {
            return item !== 'Hate'
          
          });
          
          console.log(newArray)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2019-06-26
            • 1970-01-01
            • 1970-01-01
            • 2010-10-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多