如何检查JavaScript对象或数组中是否存在特定键?
如果某个密钥不存在,并且我尝试访问它,它会返回false吗?或抛出错误?
假设我们有一个这种格式的对象:
var thisIsObject= {
'Cow' : 'Moo',
'Cat' : 'Meow',
'Dog' : 'Bark'
};
Run Code Online (Sandbox Code Playgroud)
我想做一个按键删除的功能:
removeFromObjectByKey('Cow');
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何从javascript对象中删除属性
如何从JavaScript对象中删除项?
像这样:
var test = {'red':'#FF0000', 'blue':'#0000FF'};
test.remove('blue');
Run Code Online (Sandbox Code Playgroud) 如果我有一个JSON对象说:
var myObj = {'test' : {'key1' : 'value', 'key2': 'value'}}
Run Code Online (Sandbox Code Playgroud)
我可以删除'key1',因此它变为:
{'test' : {'key2': 'value'}}
Run Code Online (Sandbox Code Playgroud) 什么是JavaScript垃圾收集?为了编写更好的代码,Web程序员理解JavaScript垃圾收集有什么重要意义?
如何确定对象是否具有x已定义的属性y,而不管其值是x.y多少?
我正在使用
if (typeof(x.y) !== 'undefined')
Run Code Online (Sandbox Code Playgroud)
但这似乎有点笨拙.有没有更好的办法?
如何删除这些都是属性undefined或null在JavaScript对象?
(问题类似于这个阵列)
我正在寻找一种方法来删除/取消设置JS对象的属性,这样如果我循环遍历该对象,它们将不再出现for (var i in myObject).如何才能做到这一点?
是否可以排除某些字段包含在json字符串中?
这是一些伪代码
var x = {
x:0,
y:0,
divID:"xyz",
privateProperty1: 'foo',
privateProperty2: 'bar'
}
Run Code Online (Sandbox Code Playgroud)
我想排除privateProperty1和privateproperty2出现在json字符串中
所以我想,我可以使用stringify替换器功能
function replacer(key,value)
{
if (key=="privateProperty1") then retun "none";
else if (key=="privateProperty2") then retun "none";
else return value;
}
Run Code Online (Sandbox Code Playgroud)
并在stringify中
var jsonString = json.stringify(x,replacer);
Run Code Online (Sandbox Code Playgroud)
但是在jsonString中我仍然看到它
{...privateProperty1:value..., privateProperty2:value }
Run Code Online (Sandbox Code Playgroud)
我想要没有privateproperties的字符串.