即时通讯绑定值即时获取值为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);
}
}
})
答案 0 :(得分:0)
我认为您需要检查未定义而不是“未定义”
答案 1 :(得分:0)
使用如下所示的.substring()方法
delete users[socket.id];
答案 2 :(得分:0)
我认为您的问题是您正在寻找字符串比较,但是Javascript中的 undefined 不是字符串。
这就是您的支票:
if ($scope.emailNames != "undefined")
通过,然后将 $ scope.emailNames 与新字符串连接,然后将 undefined 值转换为历史字符串版本:“ undefined” 在控制台输出中找到的em>。
要演示尝试此代码,请执行以下操作:
var x;
var y = x + "some new string";
console.log(y);
您得到了:
一些未定义的新字符串
要解决此问题,您需要修复 if 语句:
if ($scope.emailNames !== undefined)
请注意,我使用了!== 来检查 $ scope.emailNames 是否也属于同一类型。
这意味着如果您使用null,它将再次失败,并且您会在日志中找到一些新字符串。
在这种情况下,只需使用仅等于1的!= ,就可以考虑 null 值,就像 undefined 一样。