问题描述
我想在ts中转换以下js代码,而不使用loadish.js。
let claimNames = _.filter<string>(_.keys(decodedToken),o =>
o.startsWith(ns)
);
let claims = <any>(
_.mapKeys(_.pick(decodedToken,claimNames),(value,key) =>
key.replace(ns,"").substring(1)
)
);
或者在某个地方我可以找到有关这种情况的帮助。
解决方法
因此,您有一个对象,其键以ns定义的子字符串开头,假设它是'ns'。
示例:
{
foobar: 'foobar',nsfoo: 'foo',nsbar: 'bar'
}
您要将其映射到
{
foo: 'foo',bar: 'bar'
}
您可以这样做:
var ns = 'ns';
var obj = {
foobar: 'foobar',nsbar: 'bar'
};
var newObj = {};
Object.keys(obj).filter(key => key.startsWith(ns)).forEach(key => newObj[key.replace(ns,'')] = obj[key]);
console.log(newObj);