javascript - 为什么它在数组之前显示未定义?

标签 javascript angularjs json

我正在使用 angular js 读取 json。

但如果我使用“+=”,它会显示未定义。

var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';

var ojt= JSON.parse(text);

var moduleA = angular.module("ModuleA", []);
moduleA.controller("MsgController", function ($scope) {
    'use strict';
    for(var i=0; i<3; i++) {
    $scope.Message += ojt.employees[i].firstName;
    }
    });

结果是这样的:

    undefinedJohnAnnaPeter

怎么了?

最佳答案

Message 是未定义的,然后你 += 一些字符串到它上面,因此导致你的问题。预先将 $scope.Message 分配给空字符串以消除错误。

$scope.Message = ""
for(var i=0; i<3; i++) {
    $scope.Message += ojt.employees[i].firstName;
}

编辑:如果您想在每个名称后添加新行,请在名称之间添加 \n

$scope.Message = ""
for(var i=0; i<3; i++) {
    $scope.Message += ojt.employees[i].firstName + "\n";
}

关于javascript - 为什么它在数组之前显示未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35791031/

相关文章:

javascript - jquery 验证器的 valid() 方法总是返回 true

javascript - 如何将属性添加到自定义 Angular Directive(指令)

javascript - 使用多个数组 json 来填充动态选择

python - 从深度嵌套的 JSON 创建 Pandas DataFrame

javascript - 错误 :android-apt plugin is incompatible with the Android Gradle plugin. 请改用 'annotationProcessor' 配置,问题?

javascript - jQuery 移动元素然后固定它并水平移动它

javascript - 如何从 TypeScript 函数返回一个类?

javascript - Angular $http 和 Google Feed API

javascript - JSF 表单 - 提交 > 关注选定的输入

javascript - sce trust as html 不打印 HTML