js 对象里面的key从字符串类型变回原来
时间: 2023-09-15 16:18:40 浏览: 53
如果您想将字符串类型的键转换回原来的类型,需要知道原来的类型是什么。以下是几个示例:
1. 将数字字符串键转换回数字类型:
```
let obj = { '1': 'one', '2': 'two', '3': 'three' };
let newObj = {};
for (let key in obj) {
let newKey = isNaN(Number(key)) ? key : Number(key);
newObj[newKey] = obj[key];
}
```
这将创建一个新的对象,其中所有数字字符串键都转换回数字类型。
2. 将日期字符串键转换回日期类型:
```
let obj = { '2022-01-01': 'New Year', '2022-02-14': 'Valentine\'s Day' };
let newObj = {};
for (let key in obj) {
let newKey = isNaN(Date.parse(key)) ? key : new Date(key);
newObj[newKey] = obj[key];
}
```
这将创建一个新的对象,其中所有日期字符串键都转换回日期类型。
请注意,这些示例假设您知道原始键的类型。如果您不知道,那么转换回原始类型可能会更加困难。
相关问题
js中undefined变为了字符串类型有哪些办法给他变回来 示例
可以使用以下几种方法将字符串类型的 undefined 转换回 undefined 类型:
1. 使用全等比较操作符将字符串与 undefined 进行比较,如果相等则为 undefined:
```
let str = 'undefined';
let result = str === undefined;
```
2. 使用 typeof 操作符判断字符串类型是否为 'undefined',如果是则赋值为 undefined:
```
let str = 'undefined';
let result = typeof str === 'undefined' ? undefined : str;
```
3. 使用 JSON.parse 方法将字符串解析为对象,如果对象中某个属性的值为字符串类型的 'undefined',则将其赋值为 undefined:
```
let str = '{ "foo": "undefined" }';
let obj = JSON.parse(str, (key, value) => {
return value === 'undefined' ? undefined : value;
});
let result = obj.foo;
```
typescript 对象类型声明中 ,key 不能等于 某特定字符串
是的,这是 TypeScript 的限制。在对象类型声明中,键名不能与特定字符串相同,例如 "__proto__"、"constructor" 等。这是因为这些字符串是 JavaScript 中的保留关键字,可能会导致意外的行为。