问题标签 [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 回答
176 浏览

javascript - splice 从数组及其父数组中删除 - 奇怪的问题

嗨,我的代码中有这个简单的脚本,

对我来说奇怪的是拼接后的 c 和 d 结果相同(在从 c 中删除 3 个对象之后,而我只从 d 中删除而不是 c)。使用d.splice(0, 3)它应该从'd'中删除为什么它也会从'c'中删除???有任何想法吗 ??我在哪里遗漏了什么,请指导我。

0 投票
1 回答
1372 浏览

php - php多维数组-值减1

我的多维数组有问题。

我在数组中有各种项目。

每个项目的名称和数量显示在屏幕上,带有 - 和 + 按钮可将每个项目的数量更改为 1。每个按钮都是返回同一页面的表单。

下面的示例是当我单击 - 按钮时调用的函数。它应该从项目的数量中减去一个。

它正确地从数量中减去一个并且 item_id 是正确的。但是,它没有更新正确的数组项。事实上,它似乎是在创建一个新的数组项,因为当按下减号按钮时,篮子中的其他项下会出现一个新项。

我不认为我在 array_splice 调用中引用了正确的数组项。我认为我不应该在“array_splice($_SESSION["cart_array"]”之后说“$thisKey”。

但是,我不确定如何正确引用我想要的数组项。

请指教。

代码:

/ * ** * **** /

解决方案:

非常感谢 Jeroen Bollen 对解决方案的贡献。我的代码现在是这样工作的:

0 投票
2 回答
7923 浏览

arrays - angularjs如何将值推送到数组的特定位置

我有一个从数组中获取值的选择下拉列表。如果条件为真,我想将一个值推送到数组的第一个位置。

孩子年龄数组 $scope.age = [{childCount:'1 Yr'},{childCount:'2 Yrs'}];

我想将跟随值推到第一个位置。$scope.age.push({ childCount: '孩子 1 岁' })

但它已被添加到最后一个位置。

我也尝试了以下代码

它显示了位置。但不显示值

谁能帮我解决这个问题?谢谢

0 投票
2 回答
149 浏览

php - PHP 使用 unset 从数组中删除 $i。我的阵列上有一个洞,无法修复

我的这段代码使用 的值从数组中删除项目$i$i=0;当它开始时,当$i=2被删除时,替换它的值不能被再次删除。我知道这是因为我的数组中有一个使用unset函数的洞。

在我的表单中,我将值设置为$i.

<input name='index_to_remove' type='hidden' value='" . $i . "' />

然后用这个处理表单:

注释掉的行是我尝试过的东西,但都失败了。我已将其缩小为:索引被删除然后完全消失,因此无法再次删除替换未设置数组项的新值。

我相信我的阵列上有一个洞,因为

我不知道要添加什么,但我认为我需要使用 array_splice 所以当用户删除一个项目,然后尝试再次删除同一个项目时,它总是会删除。请帮忙。

0 投票
3 回答
30081 浏览

php - php从对象数组中删除对象

我试图通过它的索引从对象数组中删除一个对象。这是我到目前为止所得到的,但我很难过。

任何帮助,将不胜感激。

更新的解决方案

0 投票
3 回答
6955 浏览

javascript - 如何从angularjs中的列表中删除特定行

尽管到处搜索,但找不到解决方案我在从列表中删除正确的行时遇到问题。

例如我有以下数组:

尝试删除 ID = 13 的行(将从节点服务器接收 ID),代码如下:

但这不会删除正确的行。

如何指定我的参数以删除正确的行,例如:

0 投票
1 回答
2060 浏览

javascript - 关联阵列拼接不起作用

我试图理解为什么在 nodejs 数组 splice 中不适用于关联数组。

结果:

拼接数组什么都不做......

在浏览器中的结果相同...

更新:

当数组定义为:

看起来在第一个示例中,数组被视为在第二个示例中被定义为对象{} ,它被视为更像一个数组。

致版主:

这实际上不是关于备用阵列的问题,它更多的是一个从 0 开始并在几天内连续增长到 1000 万个的阵列的问题。随着它的增长,数组正在被删除,因此一次大约有 1000 个项目在数组中。

我正在考虑通过使用非数字键或定义为对象来强制使用哈希表,{}以便它像稀疏数组一样工作。

最后,我不确定这是否重要......

0 投票
1 回答
9498 浏览

arrays - TypeError:错误#1010:术语未定义且没有属性。成功移除对象的问题

我正在尝试制作一个涉及燃烧龙的小骑士的游戏,相当简单,但我是 AS3 新手,似乎无法解决这个问题,有时当我杀死一个骑士时,它会返回一个输出错误:TypeError: Error #1010 :术语未定义且没有属性。在 drogtor/onTick()

我在本网站的其他地方找不到任何相关的解决方案,所以我自己提交了一个问题。

这是(我认为是)相关代码。

0 投票
3 回答
14177 浏览

javascript - 在 map 函数中调用 splice

我有以下代码:

但是 call 只打印了两次,我希望打印三次。我知道这splice搞砸了数组,但是这种行为有一些解决方法吗?

谢谢!

0 投票
1 回答
2127 浏览

javascript - 删除没有 splice() 的数组元素

我正在开发一个 JavaScript 游戏,我希望尽可能降低内存使用率。因此,我再次将一些对象设置为 null,以便它们可以被垃圾收集。我读了一篇文章,它建议避免使用类似的函数Array.splice(),因为这会创建一个新数组,它会分配新的内存。

所以我用自己的函数实现了一个JSFiddle,它删除特定索引处的元素并将所有元素移到后面,因此长度将设置为length -= 1. 这只会影响现有数组,而不是创建一个新数组:

代替拼接使用的函数:

我的函数的 JSFiddle 有时更快,有时更慢......我应该更多地关注更好的性能和更差的内存,还是更好的内存和更差的性能?

还有哪些其他方法可以避免使用Array.splice