【发布时间】:2019-07-08 01:54:50
【问题描述】:
我有一个 JSON 对象“person”,我需要删除一个键“age”,它应该作为参数传递给函数,如下面的示例所示。在函数内部,删除密钥的语句被添加为delete person+key;,但它不起作用。请建议以以下方式删除密钥的方法,因为我必须在“p”元素单击时动态删除密钥。
<!DOCTYPE html>
<html>
<head>
<script>
var person = {
firstname: "John",
lastname: "Doe",
age: 50,
eyecolor: "blue"
};
function funToDelete(key){
delete person+key;
document.getElementById("demo").innerHTML =
person.firstname + " is " + person.age + " years old.";
}
</script>
</head>
<body>
<p id="demo"></p>
<p onclick="funToDelete('.age')">Click me</p>
</body>
</html>
【问题讨论】:
-
使用
delete person[key]。 -
不要将参数作为 '.age.而是只使用 'age' 并在删除时使用 delete person[key] (person['age'])
-
我在上面添加了一个简单的 JSON 示例。但在我的实际情况中,对象是复杂和动态的,所以我需要传递对象路径“.category[1].additionalinfo”(只是一个例子)来删除对象内部的一个元素
-
在调用函数写入时动态传递密钥,例如删除密钥
delete person.key;,如果您传递想要打印的 person.firstname、person.age 等密钥,则将打印undefined
标签: javascript jquery html css json