Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有条件角环阵列_Javascript_Angular_Typescript_Ionic Framework - Fatal编程技术网

Javascript 有条件角环阵列

Javascript 有条件角环阵列,javascript,angular,typescript,ionic-framework,Javascript,Angular,Typescript,Ionic Framework,我有从服务器返回的数据,并根据这些数据向用户显示通知 我试图做的是向除发送者之外的所有人发送通知,为此我需要循环我的数据用户,但不知道如何循环 代码 为了更好地理解,对每个部分都进行了注释 截图 有人能帮忙吗? 更新 为了说明这一点: 逻辑 每个用户都有唯一的用户名 用户对象是通知的发送者 组用户是已向其发送通知的组的成员(包括发件人本人) 循环组用户的原因是为了排除其他组中的发件人(用户对象)而不接收通知因此组中除发件人之外的所有人都将收到通知 希望它能清除一点。您可以使用语法在数组元素上循

我有从服务器返回的数据,并根据这些数据向用户显示通知

我试图做的是向除发送者之外的所有人发送通知,为此我需要循环我的数据用户,但不知道如何循环

代码 为了更好地理解,对每个部分都进行了注释

截图

有人能帮忙吗?

更新 为了说明这一点:

逻辑

  • 每个用户都有唯一的
    用户名
  • 用户对象是通知的发送者
  • 组用户是已向其发送通知的组的成员(包括发件人本人)
  • 循环
    组用户
    的原因是为了排除其他组中的发件人(用户对象)而不接收通知因此组中除发件人之外的所有人都将收到通知

  • 希望它能清除一点。

    您可以使用语法在数组元素上循环:


    找不到名称“user”。您是指实例成员“this.user”吗?
    虽然此代码可以解决OP的问题,但最好包含一个解释,说明您的代码如何解决OP的问题。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。此外,高质量、完整的答案更有可能被提升。这些特性,以及所有帖子都是独立的要求,是SO作为一个平台的一些优势,使其区别于论坛。您可以编辑以添加其他信息和/或用源文档补充说明。@mafortis在userFYI前面添加var或const或let,这不是我的代码,也不是答案。我在修复程序中编辑了您评论的错误,这应该是由于TypeScript抱怨有未声明的变量。@user120242谢谢,我正在重新构建我的应用程序,看看它是否已修复。没有人有想法吗?:)您不会显示标识每个唯一用户的对象属性,也不会显示您打算如何向其他用户发送通知,我认为这需要在看起来像websocket的东西上发送消息connection@user120242关于这个问题的所有内容都包括在内。我还分享了我从服务器收到的结果截图。这意味着我在通知中没有问题,需要显示我是如何发送的。我所需要的只是循环我共享的接收到的数据。添加extr不必要的代码只会使真正想要帮助的人的解决方案变得复杂。例如,我只能假设用户名在用户属性和组中的用户对象之间是唯一的,但我甚至不能确定用户名是否存在于这两个对象中。LocalNotification不提供任何有关其发送对象的指示。(它是要发送给你自己吗?为什么你要用相同的数据向自己弹出多个通知?)如果你在websocket上发送一条消息来触发其他用户的本地通知,这会更有意义,您尚未显示相关代码。@user120242要回答您的问题:
    1
    用户名是唯一的,
    2
    用户名存在于每个用户返回的数据中,无论它们是在组用户还是用户对象中
    3
    是指不发送给您自己(这就是为什么我尝试循环组用户并将用户从该数组中排除)
    4
    向您自己弹出多个通知,循环用户并排除我自己的唯一原因是不弹出多个通知。
    // group notif
    this.socket.fromEvent('message').subscribe(async (message: any) => {
        console.log('group message: ', message); // screenshot below
    
        // loop group users and except sender user, send notification to everyone else.
        // (access to group users - tested) `message.msg.message.group.users`
    
        // need to loop here, but how?
    
        // condition to avoid send notification to sender user
        // (sender user - tested) `message.msg.message.user.username`
        // if (message.msg.message.user.username ............??? ) {
        const notifs = LocalNotifications.schedule({
            notifications: [
            {
                title: message.msg.message.user.username,
                body: message.msg.message.note,
                id: Math.floor(Math.random() * 10),
                schedule: { at: new Date(Date.now() + 1000 * 2) },
                sound: 'beep.wav',
                attachments: null,
                actionTypeId: 'OPEN_CHAT',
                extra: null
            }
            ]
        });
        console.log('scheduled notifications', notifs);
        // }
    });
    // group notif
    
    for(const user of users) {     
      if(user != sender) { ... }
    }