首页 > 解决方案 > 屏蔽特定列对象nodejs

问题描述

如何在nodejs中屏蔽特定列(键)而不是完整对象我正在使用下面的方法但没有成功

我使用了下面的函数,但它掩盖了我所有的关键数据。我只想要特定的键名我想要什么掩码任何人都帮我这个

  var obj = { cardNumber: "123456789123" ,abc: "hello world" ,efg: "hello friend" }
    function mask(obj){
    const masked = {};
      for (let key in obj) masked[key] = "*****";
      return masked;
}
masked: {
  "cardNumber": "*********",
  "abc": "*****",
  "efg":"***

}

我想要的是

masked: {
  "cardNumber": "1234*******123",
  "abc": "hello world" ,
  "efg":"hello friend" 
}

标签: javascriptnode.jsmasking

解决方案


您需要告诉函数哪些键需要被屏蔽。

var obj = { cardNumber: "123456789123" ,abc: "hello world" ,efg: "hello friend" };
var keysThatNeedToBeMasked={"cardNumber":true}
function mask(obj,keysThatNeedToBeMasked){
  for (let key in obj) 
  if(key in keysThatNeedToBeMasked)obj[key]="*******";
  return obj;
}

这将返回 {cardNumber:"******",abc: "hello world" ,efg: "hello friend" };


推荐阅读