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 的工作原理。
该函数为您提供了一些改变列表变量的方法。您应该阅读有关 Array.filter、Array.push 的更多信息以查看它们的输入和输出。
我遇到了一个问题,我必须重构下面有几个错误的代码:
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 的工作原理。 该函数为您提供了一些改变列表变量的方法。您应该阅读有关 Array.filter、Array.push 的更多信息以查看它们的输入和输出。