gpt4 book ai didi

javascript - 我可以动态设置属性的值吗?

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

我有以下内容:

    var data.roles = "Admin:Xxxx:Data";

for (role in data.roles.split(':')) {
if (role == 'Admin') { user.data.role.isAdmin = true }
if (role == 'Data') { user.data.role.isData = true }
if (role == 'Xxxx') { user.data.role.isXxxx = true }
if (role == 'Test') { user.data.role.isTest = true }
}

有没有一种方法可以让我在没有 if 检查的情况下完成这项工作。我想要的是有一个适用于 data.roles 中存在的任何 Angular 色的解决方案。

最佳答案

由于split返回一个数组,您可以使用forEach:

var data = {roles: "Admin:Xxxx:Data"};
var user = {data: {role:{}}};

data.roles.split(':').forEach(function(v) {
user.data.role['is' + v] = true;
})

console.log(user.data.role.isXxxx); // true

有一个polyfill at MDN对于没有 forEach 的浏览器。

关于javascript - 我可以动态设置属性的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299789/

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