簡體   English   中英

Javascript 中的重構方法(從數組中添加/刪除項目)

[英]Refactoring methods in Javascript (adding / deleting items from an array)

我遇到了一個問題,我必須重構下面有幾個錯誤的代碼:

function thingsToBuy() {
  var list = [
    "milk",
    "bread",
    "bananas"
  ];
  return {
    removeItem: function(name) {
      list.filter(item => item === name);
    },
    addItem: function() {
      return list.push();
    },
    getList: function(list) {
      return list;
    }
  };
}

到目前為止,我有這個:

function thingsToBuy() {
  let list = [
    "milk",
    "bread",
    "bananas"
  ];
  return {
    removeItem: function(name) {
      for(let i = 0; i < list.length; i++) {
        if(list[i] === name) 
        return list.splice(i, 1)
      }
    },
    addItem: function(item) {
      list.push(item);
  
    },
    getList: function() {
      return list;
    }
  };
}

我是否遺漏了什么或者我實施了什么錯誤? 任何反饋將不勝感激!

解決方案:

function thingsToBuy() {
  var list = [
    "milk",
    "bread",
    "bananas"
  ];
  return {
    removeItem: function(name) {
      list = list.filter(item => item !== name);
      return list;
    },
    addItem: function(item) {
      list.push(item);
      return list;
    },
    getList: function() {
      return list;
    }
  };
}

這是一個基本練習,看看您是否了解 JS 的工作原理。 function 為您提供了一些改變列表變量的方法。 您應該閱讀有關 Array.filter、Array.push 的更多信息以查看它們的輸入和 output。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM