我有一小段代码:

const calcRowCssClasses = (<string[]>context.dataItem.cssClasses).map(
        (cssClass) => {
          return { [cssClass]: true };
        }
      );

这将生成以下对象数组:

{ "custom-calcrow-1": true },
{ "custom-calcrow-2": true }

现在,我有一个这样的起始对象:

{ "calcrow": true}

问题是,如何将上述两个条目添加到现有对象中,以使输出将是如下所示的对象:

{
  "calcrow": true,
  "custom-calcrow-1": true,
  "custom-calcrow-2": true
}

基本上,我想散布一组对象.做这样的事

return { calcrow: true, ...calcRowCssClasses };

有这样的结果:

0: {custom-calcrow-1: true},
1: {custom-calcrow-2: true},
calcrow: true

这并不是预期的结果.

谢谢.

推荐答案

如果将数组分布作为参数,则可以取Object.assign.

return Object.assign({ calcrow: true }, ...calcRowCssClasses);

const calcRowCssClasses = [
    { "custom-calcrow-1": true },
    { "custom-calcrow-2": true }
];

const originalObject = { calcrow: true };

const result = Object.assign(originalObject, ...calcRowCssClasses);

console.log(JSON.stringify(result, null, 4));

Javascript相关问答推荐

JS生成具有给定数字和幻灯片计数的数组子集

在React中获取数据后,如何避免不必要的组件闪现1秒?

通过嵌套模型对象进行Mongoose搜索

JQuery. show()工作,但. hide()不工作

使用javascript将Plotly Expandable Sparkline转换为HighCharter Plot在bslib卡中

TypeScript索引签名模板限制

无法访问Vue 3深度监视器中对象数组的特定对象值'

VUE 3捕获错误并呈现另一个组件

映射类型定义,其中值对应于键

为什么JPG图像不能在VITE中导入以进行react ?

一个实体一刀VS每个实体多刀S

AJAX POST在控制器中返回空(ASP.NET MVC)

当从其他文件创建类实例时,为什么工作线程不工作?

如何用javascript更改元素的宽度和高度?

为什么我看到的是回复,而不是我的文档?

为什么我不能使用其同级元素调用和更新子元素?

如果我的列有条件,我如何呈现图标?

如何正确地在ComponentWillUnmount中卸载状态以避免内存泄漏?

Reaction-在同一页内滚动导航(下拉菜单)

如何在不将整个文件加载到内存的情况下,在Node.js中实现Unix粘贴命令?