将对象从一个数组移动到另一个数组

2023-11-29

我有一个对象,其属性之一是对象数组,其想法是,如果一个条件为真,则将对象从该数组移动到新的数组。

public $onInit(): void {
  this.getTicket();
}

public ticket: any; // Object with the array
public comments: any = []; // New array to move the elements
public getTicket(): void {
    this.ticketService
        .getTicketComplete(this.$stateParams.ticketID)
        .then((response: any) => {
            this.ticket = response;
            this.stringToDate(this.ticket);
            this.ticket.messages.forEach((elem, index) => {
                if (elem.type === "comment") {
                    this.ticket.messages.splice(index, 1);
                    this.comments.push(elem);
                }
            });
            console.log(this.ticket);
    });
}

我遇到的问题是下一个: 该数组具有对象、消息和注释的类型,如果数组有 2 条消息和 3 条注释,则它应该将 3 条注释推送到新数组并留下 2 条消息,但仅移动 2 条注释。

任何想法。感谢您的帮助。


就是这样You do it:

var array1 = [1, 2, 3, 4, 5];
var array2 = [];

array1.forEach(function(elem, index) {
  array1.splice(index, 1);
  array2.push(elem);
});

console.log(array1); //[2, 4]
console.log(array2); //[1, 3, 5]

这是如何完成此操作的示例:

var array1 = [1, 2, 3, 4, 5];
var array2 = [];

for(var i = 0; i < array1.length; i++) {
  array2.push(array1[i]);
  array1.splice(i, 1);
  i--; //decrement i IF we remove an item
}

console.log(array1); //[]
console.log(array2); //[1, 2, 3, 4, 5]

适合您的具体用例:

let messages = this.ticket.messages;
for(let i = 0; i < messages.length; i++) {
  let message = messages[i];
  if (message.type === "comment") {
    this.comments.push(message);
    messages.splice(i, 1);
    i--;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将对象从一个数组移动到另一个数组 的相关文章

随机推荐

  • 悬停时图像放大

    Code https jsfiddle net xakhLafd Hello 我正在尝试在悬停时放大图像并使用轻松过渡 它可以工作 但有时似乎会出错 我尝试通过设置来解决这个问题 webkit transition property hei
  • 如何将Codeigniter与MSSQL(SQL Server)连接?

    我的服务器使用 Windows Server 和 MSSQL 2012 而我使用 OS X El Capitan 和 XAMPP Apache for Mac 并使用 Codeigniter 2 2 0 开发网站 这是我的配置 active
  • 在Java中实现选择表示法的好方法是什么?

    最好是用Java 这是我所拥有的 x choose y public static double choose int x int y if y lt 0 y gt x return 0 if y 0 y x return 1 double
  • 框架中的 Python Tkinter 标签

    我想在 tkinter 的框架内放置一个标签 但我不知道如何实际将其放入其中 import tkinter from tkinter import W tkinter Tk W geometry 800x850 0 0 W configur
  • 使用 r 的异步网络 IO:任何现有的包 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 是否有任何 R 项目包可以促进异步网络 IO 我认为这里类似于 Ruby 的 Eventmachine 或 Python 的 Twisted 如果有
  • 管理托管 (C#) 和非托管 (C++) 对象的析构函数

    我在 C DLL 中有一个托管对象 它维护 C DLL 中非托管对象的匿名整数句柄 在 C DLL 内部 匿名整数在 std map 中用于检索非托管 C 对象 通过这种机制 我可以使用匿名整数句柄维护托管对象和非托管对象之间的松散关联 在
  • 如何在 ClearCase UCM 中通过给定视图名称检索流名称?

    我试图弄清楚如何检索给定视图所属的流 当我使用 ClearCase Explorer 并右键单击视图的属性时 我得到了它的流名称 但我找不到如何使用脚本检索它 流信息不会出现在视图 vws 文件或注册表中 我知道我可以做一些操作来从视图的配
  • g++ 不显示“未使用”警告

    我有一段 C 代码 include
  • MvvmCross MvxWindowsPage 编译错误

    我正在写一个Xamarin iOS Xamarin Android and UWP使用 MvvmCross 框架的跨平台应用程序 我正在制作一个具有 LoginViewModel 的 LoginPage 在里面Xamarin iOS Xam
  • 为什么 gdb 将 sqrt(3) 计算为 0?

    3 的平方根 由 Wolfram Alpha 估计 1 7320508075688772935274463415058723669428052538103806280558 当我做sqrt 3 在 C 中 它的计算结果为 0 为什么 EDI
  • 如何对字符串中包含日期的数组按降序排序? [复制]

    这个问题在这里已经有答案了 我想按降序对包含日期字符串的数组进行排序 我已经尝试过这样的答案 但我得到了错误的输出 请看我的代码如下 NSArray dateArray NSArray arrayWithObjects 01 12 2012
  • WindowChrome ResizeBorderThickness 问题

    我正在设计一个窗口 但我注意到 WindowChrome 的这种奇怪行为 在 NET FW 4 0 中 来自外部 Microsoft Windows Shell dll 我将 WindowChrome 设置为 AllowTransparen
  • 在条形图中绘制前 n 项和其他项

    我正在与一个二战盟军爆炸数据集来自 Kaggle 它有一个具有五个级别的分类变量 我试图绘制两个最高的轰炸机 美国和英国 并将其他轰炸机 南非 新西兰 澳大利亚 分组到条形图上 如何将最小的组聚合到 其他 组中 目前的方法 我有一个解决方法
  • 获取一个 NSArray

    我想知道如何结合两个array合而为一array 我想要合并的tableView显示最新的 我将根据需要发布任何额外的代码或帮助 非常感谢 在 UITableViewDataSource 方法中 组合两个数组并相应地使用一个或另一个 NSI
  • 在oracle中使用sequence.nextval创建表[重复]

    这个问题在这里已经有答案了 我使用以下查询创建了一个序列 create sequence qname id seq start with 1 increment by 1 nocache 现在 当我尝试创建一个使用上述序列的表时 它会抛出以
  • 使用流体/通量将配置字段添加到typo3页面

    我已经设置了一个站点来使用 Flux FLUIDCONTENT 作为模板 并使用此处的教程使其工作 http thomas deuling org 2011 06 create base html fluid templates for t
  • 导航栏未显示在移动设备上

  • 重新加载 ng-repeat 数据失败,我做错了什么?

    我喜欢重新加载ng repeat我处理一些数据后的元素 但失败了 我想知道我做错了什么 所以一般的进程id是我从 iframe php 加载一些数据 然后将数据插入到一个不可见的div标签中 以便jquery将数据 html格式 映射到js
  • C# 泛型中是否有合理的“默认”类型参数方法?

    在 C 模板中 可以指定某一类型参数为默认值 IE 除非明确指定 否则它将使用类型 T 这可以在 C 中完成或近似吗 我正在寻找类似的东西 public class MyTemplate
  • 将对象从一个数组移动到另一个数组

    我有一个对象 其属性之一是对象数组 其想法是 如果一个条件为真 则将对象从该数组移动到新的数组 public onInit void this getTicket public ticket any Object with the arra