Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 如何从对象中删除以X开头的所有关键帧?_Javascript - Fatal编程技术网

Javascript 如何从对象中删除以X开头的所有关键帧?

Javascript 如何从对象中删除以X开头的所有关键帧?,javascript,Javascript,假设我有一个对象: test = { "a":"aval", "b":"bval", "_c":"cval" "d":"dval", "_e":"eval" } 我想从一个“uz”开始摆脱所有这些。最简单和最有效的方法是什么?这是一种性能密集型操作吗?我想要的结果是: test = { "a":"aval", "b":"bval", "d":"dval" } 您可以在所有键上循环并检查start char,然后将其删除 var测试={ “a”:“aval”, “b”:“bval”, “_c

假设我有一个对象:

test = {
"a":"aval",
"b":"bval",
"_c":"cval"
"d":"dval",
"_e":"eval"
}
我想从一个“uz”开始摆脱所有这些。最简单和最有效的方法是什么?这是一种性能密集型操作吗?我想要的结果是:

test = {
"a":"aval",
"b":"bval",
"d":"dval"
}

您可以在所有键上循环并检查start char,然后将其删除

var测试={
“a”:“aval”,
“b”:“bval”,
“_c”:“cval”,
“d”:“dval”,
“评估”:“评估”
};
Object.key(test).forEach(function(key){
如果(/^ _u/.test(键)){
删除测试[键];
}
});

控制台日志(测试)您可以在所有键上循环,并检查开始字符,然后将其删除

var测试={
“a”:“aval”,
“b”:“bval”,
“_c”:“cval”,
“d”:“dval”,
“评估”:“评估”
};
Object.key(test).forEach(function(key){
如果(/^ _u/.test(键)){
删除测试[键];
}
});
控制台日志(测试)您可以尝试:

for (var key in test) if (key.startsWith("_")) delete test[key];
结果:

Object {a: "aval", b: "bval", d: "dval"}
您可以尝试:

for (var key in test) if (key.startsWith("_")) delete test[key];
结果:

Object {a: "aval", b: "bval", d: "dval"}

性能不是很有效,但您可以在所有键之间循环一个for循环,然后获取每个键的第一个字符,如果它是一个u,则将其删除。使用indexOf/charAt检查的in-loop很简单我有10000个这样的对象,但不是每个对象都有包含“u”的键。我希望有比循环更有效的方法。
for(var-key-in-test){if(key.indexOf(“”)==0)delete-test[key]}
为什么所有的投票都被否决。这是一个很好的问题…性能不是很有效,但是你可以在所有键之间循环一个for循环,然后得到每个键的第一个字符,如果它是一个u,然后删除它。简单for in loop with indexOf/charAt check我有10000个这样的对象,但不是每个对象都有包含“u”的键。我希望有比循环更有效的方法。
for(var-key-in-test){if(key.indexOf(“”)==0)delete-test[key]}
为什么所有的投票都被否决。这是一个好问题…这是构建新对象还是真的修改了现有对象?它修改了现有对象?这是构建新对象还是真的修改了现有对象?它修改了现有对象