在im uisng forloop中如何删除udefind

时间:2018-10-13 07:01:09

标签: javascript jquery arrays angularjs

即时通讯绑定值即时获取值为undefinedAnil Singh1,Sunil Singh2,Sushil3,Aradhya4,Reena5,这里如何删除未定义

$scope.GetData = function () {
        for (var i = 0; i <$scope.employee.length; i++) {
            var abc = $scope.employee[i];
            angular.forEach(abc, function (value, key) {               
                if (key == "name") 
                    {
                        if ($scope.emailNames != "undefined") {

                     $scope.emailNames = $scope.emailNames + value + ",";
                            console.log($scope.emailNames);
                        }
                    }
            })

3 个答案:

答案 0 :(得分:0)

我认为您需要检查未定义而不是“未定义”

答案 1 :(得分:0)

使用如下所示的.substring()方法

delete users[socket.id];

答案 2 :(得分:0)

我认为您的问题是您正在寻找字符串比较,但是Javascript中的 undefined 不是字符串。

这就是您的支票:

if ($scope.emailNames != "undefined")

通过,然后将 $ scope.emailNames 与新字符串连接,然后将 undefined 值转换为历史字符串版本:“ undefined”

要演示尝试此代码,请执行以下操作:

var x;
var y = x + "some new string";
console.log(y);

您得到了:

  

一些未定义的新字符串

要解决此问题,您需要修复 if 语句:

if ($scope.emailNames !== undefined)

请注意,我使用了!== 来检查 $ scope.emailNames 是否也属于同一类型。

这意味着如果您使用null,它将再次失败,并且您会在日志中找到一些新字符串

在这种情况下,只需使用仅等于1的!= ,就可以考虑 null 值,就像 undefined 一样。