问题标签 [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.
php - php foreach 进入无限循环,数组存储在会话中
一切正常,但是当购物车中有多个物品时..并且任何物品的数量(列表中的最后一项除外)发生更改,下面的代码进入无限循环,我通过将 print_r 语句放入验证了它它。
进入无限循环的部分代码:
附言
这是添加第一项时数组的初始化方式。
如果需要任何其他细节,请告诉我..
更新:假设购物车中有三件商品。我改变了第三个项目的数量。这行得通。但是,如果我更改第二个项目的数量,脚本会达到最大执行时间,第二个和第三个项目会在购物车中无限重复。
arrays - 无法访问 Perl 哈希中的元素
我有一个哈希,填充了以下测试数据:
在另一个数组中,我有以下数据:
我需要做的是检查数组中的每个条目是否存在于哈希中,并从原始数组中删除,所以我这样做如下:
但是,对于某些实际存在于散列中的条目,使用存在的查找失败。该元素存在于哈希中,但如果条件返回 false。谁能解释一下这个原因以及如何纠正它?
谢谢!
php - 在foreach中使用引用(&)在输出数组中添加“&”?这是一个错误吗
我正在使用 PHP 5.3.5,但我遇到了一个错误。我有一个数组
我使用foreach 中的 (value by reference)array_splice
从每个数组中删除初始两个值&
现在,当我看到$input
then 它&
在第二个数组之前添加了一个。
var_dump($input);
显示了这个
来自哪里,它&
是如何产生这样的数组的?它有效吗?
如果我在 foreach 中删除&
,它不会给我想要的数组。难道我做错了什么?
javascript - Javascript“shift”与“splice”——这些语句是否相等?
我只想确认以下两个 Javascript 语句是否产生相同的结果,在我看来:
第一的:
第二:
我想在我自己的代码中用第二个代替第一个,以提高可读性。我可以这样做吗?
php - 如何拼接数组以在特定位置插入数组?
我正在尝试将数组与以下内容拼接:
我希望我的数组成为以下内容,并将值$sale_bread_elem
插入数组中的第一个位置。我看不出我做错了什么。
php - PHP:在作为 foreach() 主题的数组上使用 array_splice 会导致问题吗?
我正在编写一些类似于这样的 PHP 代码:
它应该搜索拒绝值列表(过滤器 [1]),查找是否存在替换,然后(如果存在)将替换添加到好值列表(过滤器 [0]),同时从拒绝名单。
在 foreach() 内部从作为 foreach() 的主要主题的数组中删除值会导致问题吗?
php - 得到这个 PHP 错误:fputcsv() 期望参数 2 是数组
我正在尝试使用 array_splice 将数组插入到数组数组中。
然后使用 fputcsv 将生成的数组转换为 csv 格式。我收到以下错误:
我究竟做错了什么?一定是一些小错误。请任何帮助。我也采取了正确的方法。我对函数的 PHP 知识并不丰富。
完整的php代码:
编辑:
这是在 outputCSV($array) 之前添加 print_r($array) 之后应该是 csv 文件的第一行的数组的一部分。看起来插入位置 0 的数组在“[124] => q6_3_3_2”之后没有关闭,而是有一个子数组。
arrays - 关于动作脚本的问题
我有几个不同的问题,我决定把它们放在一起。所以第一个问题:如果我有一个相同的代码(例如):
我想把它放在几个地方(在不同的条件下)我可以把它们放在一个函数中调用一个函数而不是复制大量文本(我想过从不同的文件中“包含”,但我想保留所有一个文件中的信息)。
第二个问题是关于数组:在我的情况下,我有一个数组,我 .push()里面有一个不同的数字。但它可能是“1,51,11,2,13' 或“1,2,3,4 ,5" 所以每次数字(和数字本身)的位置都是不同的。我怎么能在函数中对 AS3 说,以准确删除(.splice)数字 5 或 6(尽管它们在数组中的位置)。
第三个问题又是关于问题上方的“代码”。我可以用循环for用更少的代码来制作所有这 10 个 addEventListen 吗(我认为应该是这样的:)
长话短说,也许我不必提出这么多问题,也许我的想法不正确,但我认为我的问题很简单,但我无法解决它们。欢迎任何决定和回复:) 谢谢。
javascript - 如何清空类似数组的对象,跨浏览器(IE8)?
我有一个类似数组的对象。这意味着它具有数字属性 ( 0
, 1
, 2
...) 和一个length
属性。
在它的原型中,我声明了一个清除它的方法,如下所示:
这在大多数浏览器中都能正常工作,但在 Internet Explorer 中却不行。
取一个完全有效的类数组对象:
并将其拼接清楚:
在符合标准的浏览器上,这是正确的结果:
但在 IE 8 中,你会得到:
是的,它甚至都不管用,它可以随心所欲地工作。
现在,我认为这Array.prototype.splice.call
是本机清除类数组对象的唯一方法。我可以有条件地将它填充到 IE8 的私有副本中,也许(对其他浏览器造成一次性性能影响,但只有一次)。
或者也许还有另一种清除对象的方法?那也是IE8原生的吗?有什么我没看到的吗?
Ps:JsFiddle供你在 IE8 中运行。