我有一个从对象中删除元素的函数,如下所示:
var remove = function(obj, props) {
for(var i = 0; i < props.length; i++) {
if(obj.hasOwnProperty(props[i])) {
delete obj[props[i]];
};
};
};
让我们考虑一个带有某些元素的对象:
var obj = {
one: "I am One",
two: "I am Two"
};
因此,要从对象“obj”中删除“一个”和“两个”元素,我必须调用以下代码:
remove( obj, ["one", "two"]);
我必须使用第三个括号 ([]) 才能编写元素,但我希望代码编写如下:
remove( obj, "one", "two" );
没有第三个括号。但我不明白在哪里更新代码才能获得像上面给出的示例那样的结果,以便它支持旧浏览器。你能帮我吗 ?提前致谢
最佳答案
使用Spread syntax : var remove = function(obj, ...props)
var remove = function(obj, ...props) {
console.log(props); // ["two", "three"]
for (var i = 0; i < props.length; i++) {
if (obj.hasOwnProperty(props[i])) {
delete obj[props[i]];
}
}
};
var obj = {
one: "I am One",
two: "I am Two"
};
remove(obj, "two", "three");
console.log(obj);
关于javascript - 如何获得与数组相同的结果但没有第三个括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065224/