问题标签 [splice]

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 投票
3 回答
504 浏览

.net - 加入 MS Word 文档

在代码中将一组 MS Word 文档拼接成一个的推荐策略是什么?

干杯

尼克

0 投票
3 回答
2253 浏览

javascript - 从 JavaScript 数组中删除任意元素

在我的 Google 地图应用程序中,我可以在地图上放置标记,并保留对放置的每个标记的引用,以及名为markers.

添加标记很容易,我只是push()将新创建的对象放到数组(markers.push(marker))上;

但是,当从数组中删除任意标记时,给定插槽的索引,它的行为并不像预期的那样。我的功能是:

我以前没有使用 splice() 函数的经验,但看看它的描述 @ w3schools似乎很简单。但是,我得到以下行为:

markers.splice()什么也没做。那么我做错了什么?

而且,当markerIndex为 0 时,不显示确认框。起初,我假设冗长的 if 条件评估为 false,因此跳过了整个代码块,但是,使用 Firebug 逐步执行调用我发现当数组非空时,索引 0 的条件(当然)成立, 下一步显示if (confirm(...))andalert('deleting...)跳过并被markers.splice()调用(但没有任何反应)。这种行为太奇怪了,我决定打开这个问题。

谁能澄清发生了什么?

我认为删除标记将是人们可以做的最简单的功能。我可以添加它们,编辑它们的内容,甚至清除所有标记pop()markers数组中删除标记直到为空),一切都很好。

0 投票
3 回答
7111 浏览

c - 如何使用 Linux 的 splice() 函数将文件复制到另一个文件?

这是关于 splice() 的另一个问题。我希望用它来复制文件,并尝试使用通过管道连接的两个 splice 调用,例如 splice 的 Wikipedia 页面上的示例。我写了一个简单的测试用例,它只尝试从一个文件中读取前 32K 字节并将它们写入另一个文件:

当我运行它时,输入文件似乎被正确读取,但第二个拼接调用因 EINVAL 而失败。有人知道我在这里做错了什么吗?

谢谢!

0 投票
3 回答
18150 浏览

javascript - 一个关于 JavaScript 的 slice 和 splice 方法的问题

我遇到了以下代码:

基本上,结果args是一个数组,它是arguments没有第一个元素的副本。

但是我不能完全理解的是为什么f's arguments(这是一个将函数的输入参数保存到类似数组的对象中的对象)对象被传递给slice方法以及如何slice(1)删除第一个元素(位于索引 0 处) .

谁能为我解释一下?

PS 代码来自这个部分应用函数

0 投票
1 回答
3605 浏览

javascript - Javascript拼接不拼接

tl;博士; 即使没有我的解释,您也可以查看下面的代码和输出,发现有些问题。Splice 返回它拼接的索引,但数据保留在数组中。

所以我有一个对象,它的键控几乎就像一个数组(0,1,2,3...等)。每个对象键都有一个数组值。数组是一个对象数组。这是一个简化的对象,显示了我正在使用的基本结构:

我有一些代码需要从其中一个数组中拼接出一个数组索引(对象)。这是代码,控制台记录所有内容(我将在下面显示输出)。

注意第二个“console.log(this._index);” 拼接的对象仍然是原始数组的一部分。我会假设 this._index[2] 现在会少一个项目。另外,我应该拼接出索引 0,但它返回索引 1。

这是输出: 安慰

因此,如果有人对我可能做错了什么有任何见解,请说出来!

谢谢,迈克

0 投票
1 回答
1273 浏览

actionscript-3 - AS3:在不同的地方拼接两个项目?

如果我有一个数组

以及数组中项目的两个变量:

有没有办法同时删除这两个项目?

比如说,如果 firstPosition = item4 和 secondPosition = item7...那么 firstPosition = temp[3] 和 secondPosition = temp[6]

但如果我写:

然后 secondPosition 是它们 temp[5] 而不是 temp[6] ...因为已从数组中删除了一个。

我一直在写:

我认为这是不对的……尤其是如果 secondPosition 位于“temp”数组的开头(即 temp[0])。

有没有办法一次从数组中删除两个项目,如果它们不是并排的?

0 投票
2 回答
1028 浏览

c - 调用 linux splice() 时参数无效

我想试试 splice 系统调用。我有这个功能 - 它应该将一个文件的内容复制到另一个文件:

在第一次迭代中对 splice 的第二次调用每次都返回 EINVAL (来自 perror 的无效参数) - 可能是什么原因?

0 投票
1 回答
2061 浏览

javascript - splice() 无法正常工作

我正在为每个单击的导航容器设置一个 cookie。

它设置一个连接的数组并设置 cookie 值。如果再次单击,则将其从数组中删除。

它不知何故有问题。

它仅在单击其他元素后才进行拼接。然后它的行为很奇怪。

这可能splice不是正确的方法

0 投票
1 回答
959 浏览

javascript - javascript splice() 索引问题

我必须为数组添加一些值。

代码例如:

我期望这个输出:

但实际输出是:

任何想法?我认为这是功能的索引问题splice()

0 投票
5 回答
277 浏览

c++ - (一种)在 C++ 中旋转和切片容器的元素

我有一个std::vector包含Point struct(x,y,z 和其他一些非指针类型) 的。

这些点是用于绘制 bspline 曲线的控制点。我在绘制曲线时没有问题,但是当我必须关闭曲线时会出现复杂情况,这涉及以特定顺序添加控制点(容器内已经存在)。

例如,如果我有 5 个控制点

我必须得到 5 个这样的序列:

最初,我选择了std::rotate,但后来意识到这不是我想要的。

我在执行此操作时遇到了麻烦。我得到的最好的是 C++ 中的非工作版本(失败的原因不是问题,这是一个片段)。

有没有办法做到这一点?我知道我可以用许多嵌套的 for 循环来实现它,但我试图避免这种情况,寻找更优雅的东西(如果这个词合适的话)。

提前致谢。