问题标签 [array-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 投票
1 回答
112 浏览

jquery - 通过单击篮子内的项目元素从篮子中删除项目

我将饼干添加到桶中并取出它们的小项目几乎完成了。我可以通过单击最初用于添加饼干的原始按钮来删除饼干。但是,我正在努力通过单击包含在桶中的添加饼干的元素来从桶中取出饼干。所以我想要达到的最终结果是用户有两种方法可以从桶中取出饼干。

小提琴http://jsfiddle.net/amesy/0hthm28y/

jQuery...

html...

0 投票
4 回答
1134 浏览

javascript - Splice() 不会使数组为空

我有数组 x、y 和 z。在遍历 x 时,根据条件我需要继续从 z 中删除元素。这是我想做的事情:

在迭代结束时,z 应该为空。但它总是向我显示剩余的“test1”元素。由于没有拼接正确的索引,我尝试这样做z.splice(i--,1),但这也不起作用。

请告知解决此问题的最佳方法是什么?

0 投票
2 回答
3647 浏览

javascript - 对象数组中的空值

当文本框具有一些值(使用 ng-blur 和 )时,我正在创建对象textbox.value!==undefined,然后将这些对象放入一个数组中(在这里一切正常)。

当我单击复选框(复选框模型与文本框 ng-required 绑定)时,我需要删除具有该文本框值的特定对象。我在用:

从数组中删除该特定对象(通过匹配它的名称,如“每月”或“每季度”等),但它是null在该特定位置创建的。

例如[对象,对象,对象]

删除它显示的所有元素后[],当我添加另一个新对象时,它显示[3:object]并且内容为[null,null,null,object];

或者

如果我删除中间对象说它name:"quarterly",显示[object,object],但在添加一个新对象后它显示数组[object,object,null,object],数组长度为 4。

为什么存在null以及如何从数组中删除它。(不想再次迭代检查null)。

0 投票
1 回答
174 浏览

php - 当数组有非数字键时,使用 array_splice() 输入空值

我已经看了一下这个问题,但我似乎无法让代码为我的目的工作。

我有一个像这样结构的数组($array),里面充满了来自数据库的数据:

但是,这个数组数据将创建一个 CSV,我还需要插入空列。因此我需要数组最终看起来像这样:

我尝试使用array_splice()在相关点输入空白值:

但这最终只是破坏了数组,后来使用的代码fputcsv()甚至不将其识别数组。如何输入这些空白值?

请注意:数组key标记为什么无关紧要。可以如上面建议的那样,空白、数字、零……重要的是我需要一个空白value

0 投票
4 回答
588 浏览

javascript - 为什么在 splice() 中删除计数后添加 [0] 只返回一个数字?

首先抱歉标题太长,我真的不知道如何更好地表达它。

在解决下划线中的_.shuffle的过程中,遇到了splice的使用。这是我的原始代码:

然而,在测试之后,我意识到它将返回 [] 内的每个值,而不仅仅是值。

IE

当我更改此行时(在拼接中的 deleteCount 后添加了“[0]”)

进入这个

我得到的返回数组就是我想要的,也就是

有人可以解释在 splice() 之后添加 [0] 如何使值不返回 [ ] 或者为什么没有 [0] 吗?

0 投票
3 回答
4037 浏览

javascript - Array.Splice() does not remove element at zero index when the indexed variable is checked under if condition

Why below array is not being removed.

I have passed the correct array of bookings. Filter is correctly matching. This does not remove item when removeableIndex is 0. Suppose if removeableIndex is grater than zero it is being removed.

Below code with small change works correctly for all cases including removeableIndex is 0.

Only difference is that if(removeableIndex > -1)

I would like to know why didnt the first set of code did not remove the item only when it is at zero index.

0 投票
5 回答
592 浏览

javascript - 如何遍历一个缩小的数组

假设我有一个这样的数组:

我想遍历它以找到特定的值并删除它们。

问题是,splice 从数组中删除了该项目,并且被删除的项目前面的所有项目都向下移动了一个索引号,因此myArray.length被实例化为 5 但在splice myArray长度仅为 4 并且for循环失败后,因为myArray[4]throws typeof框架中的匹配错误。

我正在使用以这种方式工作的框架,这就是我使用这种项目删除技术的原因,我的问题是如何以正确的方式进行此操作?框架使用splice方法,我使用for循环,所以我假设有一个正确的方法来解决这个问题?

0 投票
2 回答
1107 浏览

php - 在修改原始字符串时从原始字符串中提取前 n 个字符 - 有效地 str_splice()

假设我们有如下字符串:

假设我们需要声明一个包含前 5 个字符 ( ADJKA)的变量,$string并从原始字符串中删除前 5 个字符。

PHP中是否有任何函数可以在不使用第二个函数的情况下实现这一点?我正在考虑类似于的行为array_splice(),但使用输入字符串而不是输入数组。

(我知道这str_splice()不是原生 php 函数。)

0 投票
2 回答
43 浏览

php - 如何使用一个foreach php从数组中删除某些元素

如果我希望代码看起来像这样,有没有办法

因为数组键是用 array_splice 移动的

0 投票
1 回答
118 浏览

javascript - 为什么这适用于 JS 而不是 PHP?

不久前在 JS 编码学校做过一个项目,我们使用Eratosthenes 的筛子(我无法在某种蓬勃发展的回声中读到它)来输出所有素数,直到用户输入的数字。我们为此提出的代码是:

JavaScript 代码示例

numberList()只是一个函数,它创建一个从 2 到用户输入的任何数字的数字数组。

这里的想法是通过将素数设置为等于 的下一个索引位置(numArray应该是下一个最大的素数)来跳过寻找已经被删除的数字的倍数。这就是我想弄清楚如何在 PHP 中实现的。 我可以确认这行得通。然而在 PHP 中...

PHP 代码示例

在原始的、未经编辑的帖子中,我使用unsetarray_splice. 根据一个悲伤的家伙的回答,我开始和他们两个一起玩。

无论是 Iunset还是array_splice.

这就是我最初来这里想弄清楚的:这两个函数在 JS 和 PHP 中有何根本不同?


以下是原始问题的扩展:

我发现让这个函数返回有效输出的唯一方法是替换:

和:

然而,即使它给了我一个输出,unsetarray_splice给了我不同的结果。

此代码输出Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 9 ),这是不正确的,因为 9 显然不是质数:

替换array_spliceunset($numArray[$key])return:
Array ( [0] => 2 [1] => 3 [3] => 5 [5] => 7 ),正确答案。

主要问题:

问题不是“我如何获得我想要的输出?” 我相信我已经想出了如何做到这一点。我真的很想了解两种语言在幕后发生的事情,以使 JS 中的有效方法(上面的第一个代码块)在 PHP 中无效(具体来说,为什么我不能设置$prime为拼接非素数后的数组?)。似乎他们在基本层面上处理拼接的方式不同(显然 PHP 甚至处理方式unsetarray_splice不同,这可能是第一个问题的扩展),这似乎是一件非常值得理解的事情。

错误信息

这些都是上面引用的

注意:未定义的偏移量:第 23 行 /Users/Guest/Desktop/test/sift.php 中的 2

警告:在第 18 行的 /Users/Guest/Desktop/test/sift.php 中除以零

警告:在第 18 行的 /Users/Guest/Desktop/test/sift.php 中除以零

警告:在第 18 行的 /Users/Guest/Desktop/test/sift.php 中除以零

警告:在第 18 行的 /Users/Guest/Desktop/test/sift.php 中除以零

注意:未定义的偏移量:第 23 行 /Users/Guest/Desktop/test/sift.php 中的 4

警告:在第 18 行的 /Users/Guest/Desktop/test/sift.php 中除以零

不断地不断地......

编辑

我继续进行了一些重新排列/格式化,以尝试更好地阐明问题。这主要是为了回应“一个悲伤的家伙”的回复,他建议使用array_splice而不是unset. 这个推理似乎完全有道理,但我发现它似乎并没有达到预期的结果。

感谢任何花时间涉足此问题的人。第一次尝试在这里得到答案,如果我让它变得比它需要的更困难,我很抱歉。