gpt4 book ai didi

javascript - 需要检查 key 是否已经存在以及王牌值,javascript

转载 作者:行者123 更新时间:2023-12-03 08:28:25 25 4
gpt4 key购买 nike

var data = [
["default_PROJECT", "Allow", "Connect", "Allow", "AddComment", "Allow", "Write",
"Allow", "ViewComments", "Allow", "ExportData", "Allow", "ExportImage", "Allow",
"ViewUnderlyingData", "Allow", "Read", "Allow", "ShareView", "Allow", "Filter"
],
["testing_PROJECT", "Allow", "ExportImage", "Allow", "Write", "Allow", "ViewComments",
"Allow", "ShareView", "Allow", "Filter", "Allow", "ExportData", "Allow", "Connect", "Allow",
"Read", "Allow", "ViewUnderlyingData", "Allow", "AddComment", "Allow", "ViewComments", "Deny", "ExportData", "Allow",
"AddComment", "Deny", "Write", "Allow", "Read", "Deny", "ExportXml", "Deny", "ShareView", "Allow", "Connect", "Allow", "ChangeHierarchy", "Allow",
"WebAuthoring", "Deny", "ViewUnderlyingData", "Deny", "Filter", "Deny", "ExportImage"
]
];


var result = [];
for (var i = 0, len = data.length; i < len; i++) {
var list = data[i];
result[i] = {
Project: list[0]
};
for (var j = list.length - 1; j >= 1; j = j - 2) {
var key = list[j];
var value = list[j - 1];
result[i][key] = value;
}
}
console.log(result);

对于某些键,可能有多个值。如果现有值是允许,并且同一 key 有一个值拒绝,我需要拒绝该 key 的新值。例如,在第二个数组中,键“ExportImage”的值应为“Deny”而不是“Allow”。我创建了对象,但如何检查这些值是否应该被覆盖?

最佳答案

对象的美妙之处在于您可以检查它们的值;)由于“Deny”优于所有其他变量 - 那么就让它获胜,否则就是最后一个值。

情况 1:允许、拒绝、允许、Foo、Bar => 拒绝
情况 2:Allow、Foo、Bar、Allow、Baz => Baz

for (var j = list.length - 1; j >= 1; j = j - 2) {
var key = list[j];
var value = list[j - 1];
if( result[i][key] !== "Deny" ) {
result[i][key] = value;
}
}

关于javascript - 需要检查 key 是否已经存在以及王牌值,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33441836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com