问题标签 [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 投票
6 回答
52399 浏览

javascript - 比较和过滤两个数组

我一直在尝试实现一个给定两个数组的函数,

array1的元素用作过滤出array2中的元素的条件。

例如:

输入函数后,array2 应该具有如下元素:

我尝试了以下代码,使用 for 循环和 array.splice(),但我看到的问题是,当我使用 splice 方法时,它似乎改变了 for 循环中 array2 的长度:

任何关于如何改进过滤功能的输入都将不胜感激

干杯!

0 投票
2 回答
3132 浏览

php - array_splice() :将数组插入到索引处的二维数组中 [PHP]

我正在尝试将数组插入到特定位置的二维数组中。根据手册,我应该可以使用 array_splice() 来执行此操作,但它只会删除我的接收数组的内容而不插入。

我想得到一个包含 $receivingArray 的所有值(数组)加上新值(数组)的数组。

我究竟做错了什么??

手册信息:

数组 array_splice ( 数组 &$input , int $offset [, int $length [, mixed $replacement = array() ]] )

如果指定了长度并且为零,则不会删除任何元素。如果替换只是一个元素,则无需将 array() 放在 > 它周围,除非该元素是数组本身、对象或 NULL。

输入:

结果:$newArray 是一个空数组

输入 :

结果:$newArray 是一个空数组

这个输入:

给出:(有趣)

0 投票
1 回答
449 浏览

angularjs - 为什么这个拼接会删除我的 ng-repeat 中的错误项目?

我正在尝试根据它们的 $index 拼接出这个 ng-repeat 中的项目。它可以很好地添加它们,但是当我尝试使用相同的代码删除该项目时,它只删除数组的最后一项,就好像它正在执行 pop() 方法一样。我不知道为什么。这是我要重复的对象:

这是我的 HTML:

这是我的控制器:

这会在控制台中打印正确的数字,但实际上会删除 items 数组中的最后一项。有任何想法吗?

0 投票
1 回答
44 浏览

arrays - 使用 removeChild() 和访问数组成员时出错

即使我知道这很简单,我也坚持这样做。然而,我遇到了错误。

我有的:

我有 3 个数组。

  1. 第一个数组包含UpgradeButton类的对象。
  2. 第二个数组包含BuyButton类的对象。
  3. 命名的第三个数组newCostlyShops包含数字。

BuyButtonclass 和UpgradeButtonclass 都有一个shopCode成员,它是一个数字;我试图等同的数字。

我正在尝试做的事情:

我的目标是首先在各个数组中查找BuyButton与.UpgradeButtonshopCodenewCostlyShops

之后,我removeChild()将那个对象和splice它从数组中取出。

我的代码:

阵列 3:

删除和拼接代码:

这段代码有什么问题:

我不断收到错误

TypeError:错误#1010:术语未定义且没有属性。

此错误仅在第一次运行此代码之后出现,而不是第一次运行。当我删除removeChildandsplice时,这会追踪出为空的对象。即使在整个函数被调用 100 次之后,也不会显示错误。只有当我removeChild和使用splice这种情况发生。

我在做什么有问题吗?如何避免这个错误?这使整个程序陷入混乱。如果此方法还有其他替代方法,我愿意采用这些方法,只要我没有出错并且达到我的目标。

0 投票
3 回答
1102 浏览

php - 即使数组为空或位置不存在,在数组位置插入元素

我尝试使用array_splice此处描述的策略 ​​在 PHP 中的任何位置插入数组中的新项目

但它不起作用,因为数组为空或键不存在。所以我尝试检查是否先设置密钥然后创建它。但它仍然不起作用。

例如,如果数组在第一次调用中为空,并且我想在索引 3 处插入元素,并且array_splicearray_splice. 如果数组为空,则插入失败

所以下面的调用

array_insert(array(),array(36,37),3);

生成这个

我错过了什么?!

@edit 预期的结果是:如果我在空数组的第 3 位插入数组('a','b','c'),则结果数组应该允许我通过键 3,'b' 访问 'a'由 4 等。不确定哪个更好,空值来填补空白或关联键。

@edit2

insert(array(),array(1,2),3);

数组(2) { [3]=> int(1) [4]=> int(2) }

$a = array(); $a[2] = 3; insert($a,array(1,2),1);

数组(3) { 1 => int(1) [2]=> int(2) [3] => int(3) }

insert(array(1,2),array(4,5),1);

数组(4) { [0]=> int(1) 1 => int(4) [2] => int(5) [3] => int(2) }

在性能方面,顺便说一句更好的选择是什么?

0 投票
1 回答
1828 浏览

javascript - TypeError:baseChoiceList.splice 不是函数

我已经为此工作了 4 个小时,阅读了许多相关的解释并尝试了其中的几个。我确定我错过了一个简单的概念并修复了这个错误。非常感谢您的帮助。

ColorChart.setupAnswerChoices();

baseChoiceList 12,17,1,22,27,NCN

当前选择列表 12,17,1,22,27,NCN

buttonChoice [对象数组]

baseChoiceList [对象字符串]

未捕获的类型错误:baseChoiceList.splice 不是函数

0 投票
2 回答
1980 浏览

javascript - 如何使用javascript从数组中删除多个值?

我想删除除香蕉以外的所有内容。

0 投票
1 回答
229 浏览

arrays - .splice(x,1) 不工作

我使用 Node JS 迈出了第一步,一切都很顺利,直到我遇到一个我既无法理解也无法找到解决方法的奇怪行为。它应该很简单,一切都有据可查,我可以找到很多这种工作的例子,不幸的是,我可能遗漏了一些非常明显的东西。在这失去了将近 2 天之后,我决定寻求一些帮助......在此先感谢。

我正在尝试将对象(clientID、套接字信息)存储在一个数组中,并希望在连接丢失时删除一个对象。

我已经构建了我的代码的一小部分来复制行为。

结果是:

有任何想法吗?

谢谢

0 投票
3 回答
57 浏览

php - 提取文本 * 符号之间的信息并将每个数据保存到单独的数组中

我有一个文本文件为“ a.txt”,

它有一个像图像一样的数据。我想逐行读取此文本文件并将*符号之间的每个条目保存并保存到单独的array.

注意:我想将每个信息保存到一个单独的数组中。

我想使用 PHP 代码来做到这一点。

先感谢您。

0 投票
2 回答
55 浏览

javascript - 如何订购一个数组依赖于另一个数组

我有两个数组:

  • values:包含所有值的数组
  • mainValues:带有 mainValues 的列表,这些值已经存在于数组值中,但必须排序。即 mainValues 应该是数组值中的第一个值

我这样解决了这个问题,但我不确定这是否是最佳实践: