gpt4 book ai didi

javascript - (Un)通过字符串输入设置嵌套数组值

转载 作者:行者123 更新时间:2023-11-29 20:09:35 27 4
gpt4 key购买 nike

我有这样一个函数:

Session.get = function(key) {
if (!window["_SESSION"] || typeof key == 'undefined') {
return window["_SESSION"] || {};
}

if (key.indexOf('.') === -1) {
return window["_SESSION"][key] || {};
}

var keyArr = key.split('.'), val = window["_SESSION"];

for ( var i = 0; i < keyArr.length; i++) {
if (typeof val[keyArr[i]] === 'undefined') {
return null;
}
val = val[keyArr[i]];
}

return val;
}

这个函数允许我在函数外部没有临时变量的情况下获取嵌套值。示例 Session.get('var.nestedvar') 返回 window[_SESSION']['var']['nestedvar'] 的值。

我怎样才能像这样(取消)设置变量?试图 delete val; 但没有成功。javascript 引用是如何工作的?有人知道实现类似功能的任何替代方法吗?

最佳答案

你可以像这样按父删除:

[10:00:00.380] a = {'root': {'home':'~'}}
[10:00:00.385] ({root:{home:"~"}})
--
[10:00:09.625] b = a['root']
[10:00:09.631] ({home:"~"})
--
[10:00:20.569] delete b['home']
[10:00:20.573] true
[10:00:21.684] a
[10:00:21.688] ({root:{}})

关于javascript - (Un)通过字符串输入设置嵌套数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10696893/

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