Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 方法在JSON中搜索部分值匹配并应用属性_Javascript_Typescript_Angular Cli V6 - Fatal编程技术网

Javascript 方法在JSON中搜索部分值匹配并应用属性

Javascript 方法在JSON中搜索部分值匹配并应用属性,javascript,typescript,angular-cli-v6,Javascript,Typescript,Angular Cli V6,嗨,我需要在JSON响应中搜索键“columnName”的所有值,这些值以特定的字符串模式开始(仅开始) "IDM_" 对于所有匹配项,我希望在每个对象上包含键/值“IDM”:true,对于任何不匹配项,“IDM”:false 提前谢谢 { "columnPermissions": [{ "$id": "1474", "columnName": "IDM_ID" }, { "$id": "1475", "columnName": "IDM_CreateDate"

嗨,我需要在JSON响应中搜索键“columnName”的所有值,这些值以特定的字符串模式开始(仅开始)

"IDM_"
对于所有匹配项,我希望在每个对象上包含键/值“IDM”:true,对于任何不匹配项,“IDM”:false

提前谢谢

{
"columnPermissions": [{
    "$id": "1474",
    "columnName": "IDM_ID"
}, {
    "$id": "1475",
    "columnName": "IDM_CreateDate"
}, {
    "$id": "1476",
    "columnName": "IDM_CreatedBy"
}, {
    "$id": "1480",
    "columnName": "First_Name"
}, {
    "$id": "1481",
    "columnName": "Last_Name"
}]

}

我想你可以这样做:

let data = JSON.parse({
"columnPermissions": [{
  "$id": "1474",
  "columnName": "IDM_ID"
  }, {
  "$id": "1475",
  "columnName": "IDM_CreateDate"
  }, {
  "$id": "1476",
  "columnName": "IDM_CreatedBy"
  }, {
  "$id": "1480",
  "columnName": "First_Name"
  }, {
  "$id": "1481",
  "columnName": "Last_Name"
  }]
});

data = data.columnPermissions.map(column => Object.assign({}, { 'IDM': 
column.columnName.includes('IDM_') });

您可以在
ColumnPowpermissions
数组中循环,并根据columnName是否为“IDM”设置
IDM
属性

const input={“columnPermissions”:[{“$id”:“1474”,“columnName”:“IDM_id”},{“$id”:“1475”,“columnName”:“IDM_CreateDate”},{“$id”:“1476”,“columnName”:“IDM_CreatedBy”},{“$id”:“First_Name”},{“$id”:“1481”,“columnName”:“Last_Name”}
input.columnPermissions.forEach(a=>
a、 IDM=a.columnName.startsWith(“IDM_u3;”)
)

console.log(输入)
请阅读。本网站不是一个代码编写服务,我们希望您首先向我们展示您迄今为止为解决问题所做的努力。您能解释一下您的代码的作用以及如何回答这个问题吗?只有代码的答案对未来或没有经验的读者没有太大帮助。请始终添加一些解释以改进您的答案
const newResponse = response.columnPermissions
    .map(c=> { ...c, 'IDM': c.columnName.includes('IDM_') });