【问题标题】:Javascript Object variable references to strings on the console/pageJavascript 对象变量引用控制台/页面上的字符串
【发布时间】:2016-04-28 10:07:08
【问题描述】:

好的,我有这个代码。

var Objectmary={firstName:"mary",lastName:"marshall"};
var Objectjoseph={firstName:"joseph",lastName:"marshall"};
var Objectguy={firstName:"guy", lastName:"steele"};
var contacts=[Objectmary,Objectjoseph,Objectguy];

基本上,我希望将数组联系人打印到控制台或页面。但是,如果我使用

console.log(contacts)

它不会将数组打印为 [mary,joseph,guy],而是在数组中的位置旁边为我提供对象键和值。

我只想将 Objectmary,Objectjoseph,Objectguy 打印到控制台或页面上。

【问题讨论】:

  • 变量名没有更深层次的含义,程序无法访问。

标签: javascript arrays object logging console


【解决方案1】:

尝试使用Array.prototype.forEach()迭代对象,console.log()对象firstName属性;使用 Array.prototype.map() 返回仅包含 firstName 对象属性的数组

var Objectmary = {
  firstName: "mary",
  lastName: "marshall"
};
var Objectjoseph = {
  firstName: "joseph",
  lastName: "marshall"
};
var Objectguy = {
  firstName: "guy",
  lastName: "steele"
};
var contacts = [Objectmary, Objectjoseph, Objectguy];

contacts.forEach(function(obj) {
  console.log(obj.firstName, obj.lastName);
  document.body.innerHTML += obj.firstName + " " + obj.lastName + "<br>"
});

var names = contacts.map(function(obj) {
  return obj.firstName
});

console.log(names);

【讨论】:

  • 当我在 js.do 上运行此代码时,它返回 JavaScript 错误:未捕获的类型错误:无法读取第 18 行的 null 属性“innerHTML”。
  • document.body.innerHTML 用于在 stacksn-ps 演示方法
【解决方案2】:
var Objectmary   = { firstName: 'mary', lastName: 'marshall' },
    Objectjoseph = { firstName: 'joseph', lastName: 'marshall' },
    Objectguy    = { firstName: 'guy', lastName: 'steele' },
    contacts     = [Objectmary, Objectjoseph, Objectguy],
    array_string = '[';

for (var i = 0, l = contacts.length; i < l; i++) {
    array_string += contacts[i].firstName;
    if (i < (l - 1)) array_string += ', '; 
}
array_string += ']';
console.log(array_string);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 2012-05-22
    相关资源
    最近更新 更多