[英]How to fetch matching key values from JSON object?
我有一个带有以下数据的 object:
obj =
{
key: 'mykey1597855209',
integrity: 'sha512-T9JW=='
}
{
key: 'mykey159785520915978552101597855212',
integrity: 'sha512-T9JWj=='
}
{
key: 'mykey15978552091597855210',
integrity: 'sha512-lcddfd=='
}
{
key: 'otherkey15978552091597855210',
integrity: 'sha512-abcdfd=='
}
当我执行console.log(typeof obj)
时,我得到object
为 output
我只想将唯一的integrity
值存储在键值中具有mykey*
的key value
的数组中
所需的 Output:
[ 'sha512-T9JWj==', 'sha512-lcddfd==' ]
代码:
var output = [];
for (var key in obj) {
if(obj[key] === 'mykey') {
output.push(obj[integrity])
}
}
console.log(output.join(', '))
您首先filter
数组以仅获取具有匹配键值的对象, map
每个结果元素为其integrity
属性,从该数组创建一个Set
,最后使用扩展语法以数组形式获取结果。
const arr = [ { key: 'mykey1597855209', integrity: 'sha512-T9JWj==' }, { key: 'mykey159785520915978552101597855212', integrity: 'sha512-T9JWj==' }, { key: 'mykey15978552091597855210', integrity: 'sha512-lcddfd==' }, { key: 'otherkey15978552091597855210', integrity: 'sha512-abcdfd==' }]; const res = [...new Set(arr.filter(({key})=>/mykey/.test(key)).map(({integrity})=>integrity))]; console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.