问题标签 [spread-syntax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
201 浏览

javascript - 使用扩展语法从包含表情符号的字符串中过滤空字符串

我正在努力保持时尚,所以我一直在玩传播运算符和表情符号。我注意到,当我想从生成的“扩展”数组中filter清空字符串 ( ) 时,不会删除空字符串。''这是为什么?

0 投票
3 回答
87 浏览

javascript - 使用展开语法返回数组中的最大数

我正在尝试使用此函数在每个子数组中找到最大的数字:

但是当我运行它时,结果实际上是每个子数组中的最大数字,但重复了 4 次,如下所示:

我不知道为什么。我想知道我做错了什么,谢谢。

0 投票
2 回答
6982 浏览

javascript - 使用语句扩展语法 ES6

我尝试使用扩展语法编写三元运算符并复制两个对象。是否可以在内部使用带有扩展语法的三元运算符和文字对象?我的代码工作正常,我只想优化它。

我想这样写:

0 投票
3 回答
686 浏览

reactjs - 带有 object.assign 的 Redux reducer 在同名的顶部键中创建键

我正在尝试从我在 Medium 上学到的关于 Redux 的简单示例转变为使用 object.assign 或扩展运算符正确修改不可变状态。但是,在我尝试过之后,它会在原始状态键中创建一个具有相同名称的键。Fe 我有一个状态键searchPage: 1,在转换减速器后我得到了searchPage: {searchPage: 1}. 我打赌这很愚蠢,但我是根据 Redux 文档(我只是假设)这样做的。我已经尝试过 object.assign 和 spread 运算符,它们具有相同的结果。这是我的旧减速器:

以及带有扩展运算符的新功能:

更新现在,我使用 initialState 对象将所有 reducer 的初始状态设置为默认对象。但是,扩展运算符语法现在与以前完全相同,即在 searchPage 键中插入初始状态键,因此我仍然在我的 searchPage 键中使用对象而不是数字。这是更新的代码,我不知道我是否朝着正确的方向前进:

0 投票
3 回答
17128 浏览

javascript - 扩展运算符将对象转换为数组

我正在尝试转换这样的数据结构:

变成这样的结构:

像这样使用扩展运算符:[...data]返回任何空数组。

我也试过[{...data}]

有没有办法使用扩展运算符来获得所需的结果?另外,为什么这种方法不起作用?

0 投票
1 回答
16 浏览

javascript - 当我修改克隆的 obj(使用 {...})时,为什么 obj 会发生突变?

让我们拿一个对象 d。

现在用 {...} 复制dt并分配新的道具。

为什么对象 d 被突变为

0 投票
3 回答
503 浏览

typescript - 为什么打字稿抱怨对象必须是扩展类型中的对象

为什么 TSC 说“...base”必须是一个对象,我该如何解决这个问题,同时仍然保留“base”对象的类型。

例如,以下没有编译器错误,但是丢失了“base”的所有类型信息。

0 投票
4 回答
47199 浏览

php - 数组声明中的 PHP 传播语法

PHP 支持可变参数函数的扩展语法。

在 JavaScript 中,您可以使用扩展语法来执行操作:

但是,尝试在 PHP 中执行此操作:

导致此错误:

解析错误:语法错误,意外的 '...' (T_ELLIPSIS),期待 ']'

PHP中不允许以这种方式使用传播语法吗?如果是这样,是否有一种同样优雅的方式来达到同样的效果?

0 投票
8 回答
30385 浏览

javascript - 在一行代码中用扩展语法替换数组条目?

我正在使用 ... spread 语法替换反应状态数组中的项目。这有效:

是否有可能在一行代码中做到这一点?像这样的东西?(这显然不起作用......)

0 投票
1 回答
26 浏览

javascript - 如何从每个原始数组项中的特定属性创建一个新数组

我有一个具有这种结构的项目数组:

我想创建一个新数组,它只是每个原始数组项的产品,例如:

使用 javascript(es6/2015 很好)

最快的方法是什么?没有循环/地图有什么办法吗?数组中的项目数量将是动态的/我不知道可能有多少。