从嵌套对象中获取类型可以通过以下几种方式实现:
function getType(obj) {
if (typeof obj === 'object') {
if (Array.isArray(obj)) {
return 'array';
} else if (obj === null) {
return 'null';
} else {
return 'object';
}
} else {
return typeof obj;
}
}
// 示例对象
var obj = {
name: 'John',
age: 30,
address: {
city: 'New York',
country: 'USA'
}
};
// 获取嵌套对象的类型
function getNestedType(obj) {
var result = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = getType(obj[key]);
}
}
return result;
}
console.log(getNestedType(obj));
输出结果:
{
name: 'string',
age: 'number',
address: {
city: 'string',
country: 'string'
}
}
function getType(obj) {
if (obj instanceof Array) {
return 'array';
} else if (obj instanceof Object) {
return 'object';
} else if (obj === null) {
return 'null';
} else {
return typeof obj;
}
}
// 示例对象
var obj = {
name: 'John',
age: 30,
address: {
city: 'New York',
country: 'USA'
}
};
// 获取嵌套对象的类型
function getNestedType(obj) {
var result = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = getType(obj[key]);
}
}
return result;
}
console.log(getNestedType(obj));
输出结果:
{
name: 'string',
age: 'number',
address: {
city: 'string',
country: 'string'
}
}
function getType(obj) {
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}
// 示例对象
var obj = {
name: 'John',
age: 30,
address: {
city: 'New York',
country: 'USA'
}
};
// 获取嵌套对象的类型
function getNestedType(obj) {
var result = {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = getType(obj[key]);
}
}
return result;
}
console.log(getNestedType(obj));
输出结果:
{
name: 'string',
age: 'number',
address: {
city: 'string',
country: 'string'
}
}
以上是从嵌套对象中获取类型的几种常见方法,根据具体的需求和使用场景选择合适的方法即可。
领取专属 10元无门槛券
手把手带您无忧上云