返回一个没有列入排除key属性的对象。其中,参数object为JSON格式的对象,*keys表示多个需要排除掉的key属性。
通俗易懂的说就是:你要删除一个对象下的哪个key。
import omit from "omit.js";
var data = {
"a": "a",
"b": "b",
"c": "c",
"d": "d"
};
console.log(omit(data, ["a", "d"]));
/**
*
* @param {传入对象} obj
* @param {要删除的对象下的某个key-array类型} fields
* @returns
*/
function omit(obj, fields) {
const shallowCopy = Object.assign({}, obj);
for (let i = 0; i < fields.length; i += 1) {
const key = fields[i];
delete shallowCopy[key];
}
return shallowCopy;
}
先个传入的对象obj参数,做一层浅拷贝,防止修改源数据;
const shallowCopy = Object.assign({}, obj);
然后传入要删除的fields,也就是要删除对象下的哪个key,进行遍历 delete;
for (let i = 0; i < fields.length; i += 1) {
const key = fields[i];
delete shallowCopy[key];
}
大家有什么问题,可留言