js对象中的 key 和 value. 如何去了引号
时间: 2023-12-03 11:42:05 浏览: 30
在 JavaScript 中,对象中的 key 和 value 都是字符串类型,在对象字面量中通常需要使用引号来包裹 key 和 value。
如果想要去掉 key 和 value 的引号,可以使用 `JSON.stringify()` 方法将对象转换为字符串,然后使用正则表达式去除引号。
例如:
```javascript
const obj = {
"key1": "value1",
"key2": "value2"
};
const jsonStr = JSON.stringify(obj).replace(/\"([^(\")"]+)\":/g,"$1:");
console.log(jsonStr);
```
输出结果如下:
```
{key1:"value1",key2:"value2"}
```
注意,去除引号后的字符串不再是一个有效的对象字面量,如果需要使用该字符串来创建一个对象,需要使用 `eval()` 或者 `Function()` 函数来执行字符串中的代码。但是,使用 `eval()` 函数存在一些安全风险,建议谨慎使用。
相关问题
给对象添加key,value
在 JavaScript 中,可以通过以下两种方式给对象添加 key 和 value。
1. 使用点号(.)来添加 key 和 value。这种方式需要提前知道 key 的名称。
```javascript
const obj = {}
obj.name = 'Alice'
obj.age = 25
obj.gender = 'female'
console.log(obj) // { name: 'Alice', age: 25, gender: 'female' }
```
2. 使用方括号([])来添加 key 和 value。这种方式可以动态地设置 key 的名称。
```javascript
const obj = {}
const key1 = 'name'
const key2 = 'age'
const key3 = 'gender'
obj[key1] = 'Alice'
obj[key2] = 25
obj[key3] = 'female'
console.log(obj) // { name: 'Alice', age: 25, gender: 'female' }
```
需要注意的是,如果使用方括号来添加 key,key 的名称必须用引号括起来。如果不用引号括起来,JavaScript 会把 key 视作一个变量,而不是字符串,这可能会导致语法错误。
例如,以下代码会报错:
```javascript
const obj = {}
const key = name
obj[key] = 'Alice' // 报错:name is not defined
```
正确的写法应该是:
```javascript
const obj = {}
const key = 'name'
obj[key] = 'Alice'
console.log(obj) // { name: 'Alice' }
```
js 对象转字符串为单引号
可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串,并在参数中传入一个函数,将字符串中的双引号替换为单引号。示例代码如下:
```
let obj = {name: 'John', age: 30};
let str = JSON.stringify(obj, function(key, value) {
if (typeof value === 'string') {
return value.replace(/"/g, "'");
}
return value;
});
console.log(str); // 输出:{"name":'John',"age":30}
```
这样就可以将字符串中的双引号替换为单引号了。