问题描述: 当将对象推入数组时,新对象显示为[[ object],[ object ],[object]]而不是[object,object,object]。
答案: 这种情况发生是因为数组中的对象被默认转换为字符串时,调用了它们的 toString() 方法,而不是使用原始的对象引用。默认情况下,JavaScript 对象的 toString() 方法返回的是对象的类型标识符(object),而不是对象的具体值。
要解决这个问题,可以使用 JSON.stringify() 方法将对象转换为字符串,并将其推入数组。JSON.stringify() 方法会将对象序列化为 JSON 格式的字符串,保留对象的具体值。这样,在数组中就能正确地显示对象的值。
以下是使用 JSON.stringify() 方法解决问题的示例代码:
let array = [];
let object1 = { name: "John" };
let object2 = { name: "Jane" };
let object3 = { name: "Tom" };
array.push(JSON.stringify(object1));
array.push(JSON.stringify(object2));
array.push(JSON.stringify(object3));
console.log(array); // 输出 ["{"name":"John"}", "{"name":"Jane"}", "{"name":"Tom"}"]
在上述示例中,我们先将对象通过 JSON.stringify() 方法转换为字符串,然后将这些字符串推入数组。最终输出的数组中,每个元素都是包含对象具体值的 JSON 格式字符串。
对于推荐的腾讯云相关产品,由于问题与云计算品牌商无关,因此无需提供相关产品和链接。但是,作为一个云计算领域的专家和开发工程师,腾讯云提供了一系列与云计算相关的产品和服务,可以根据实际需求选择适合的产品进行开发和部署。
请注意,以上答案仅针对问题本身,具体应用场景和技术选型还需根据实际情况进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云