转换lodash';将pickby插入到javascript中
如何在javascript中创建lodash的pickby函数?我在“你不需要洛达斯”中找到了以下一个转换lodash';将pickby插入到javascript中,javascript,lodash,Javascript,Lodash,如何在javascript中创建lodash的pickby函数?我在“你不需要洛达斯”中找到了以下一个 但是在其他实现中您可以添加一个谓词函数,如所述,并使用条目、过滤数据和构建一个新对象 function pickBy(object, predicate = v => v) { return Object.assign( ...Object .entries(object) .filter(([, v]) =>
但是在其他实现中您可以添加一个谓词函数,如所述,并使用条目、过滤数据和构建一个新对象
function pickBy(object, predicate = v => v) {
return Object.assign(
...Object
.entries(object)
.filter(([, v]) => predicate(v))
.map(([k, v]) => ({ [k]: v }))
);
}
您可以添加谓词函数,如所述,并使用条目、过滤数据和构建新对象
function pickBy(object, predicate = v => v) {
return Object.assign(
...Object
.entries(object)
.filter(([, v]) => predicate(v))
.map(([k, v]) => ({ [k]: v }))
);
}
要创建,可以使用。如果谓词返回值的真实答案,则将键和值分配给结果对象
注意:如果您需要\uuu.pickBy()
,并且不希望导入整个lodash包,则可以导入
函数pickBy(对象,谓词=v=>v){
常量obj={};
for(对象的常量[键,值]。条目(对象)){
if(谓词(值))obj[key]=值;
}
返回obj;
}
log(pickBy({a:1,b:0,c:3}));
log(pickBy({a:1,b:0,c:3},v=>v<3))代码>要创建,可以与一起使用。如果谓词返回值的真实答案,则将键和值分配给结果对象
注意:如果您需要\uuu.pickBy()
,并且不希望导入整个lodash包,则可以导入
函数pickBy(对象,谓词=v=>v){
常量obj={};
for(对象的常量[键,值]。条目(对象)){
if(谓词(值))obj[key]=值;
}
返回obj;
}
log(pickBy({a:1,b:0,c:3}));
log(pickBy({a:1,b:0,c:3},v=>v<3))代码>正在
var object = { 'a': 1, 'b': '2', 'c': 3 };
和回调一个仅应用于对象(u.isNumber)值的方法:
存在
和回调一个仅应用于对象(u.isNumber)值的方法:
当对象为
{}
时,Nina的解决方案失败。
这是我的:
const pickBy = (object, predicate = v => v) =>
Object.entries(object)
.filter(([k, v]) => predicate(v))
.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});
当对象为
{}
时,Nina的解决方案失败。
这是我的:
const pickBy = (object, predicate = v => v) =>
Object.entries(object)
.filter(([k, v]) => predicate(v))
.reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});
您错过了可选谓词。但是为什么要进行所有检查呢?Object.keys(obj).reduce((prev,x)=>callback(obj[x])?{……prev[x]:obj[x]}:prev,{});您错过了可选谓词。但是为什么要进行所有检查呢?Object.keys(obj).reduce((prev,x)=>callback(obj[x])?{……prev[x]:obj[x]}:prev,{});