gpt4 book ai didi

javascript - JS数组声明中的空元素

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:41 24 4
gpt4 key购买 nike

这是我的第一个问题,经过多年的阅读,所以请对我好一点。

我在 js/jq 中遇到数组管理问题。

我有几个元素的数组,用 $.each 函数处理。我想将匹配的元素提取到另一个数组并返回这个数组。但出于某种原因(不知道是不是因为数组声明、jquery.each 函数...)我有第一个空元素。

我认为我让这个比现在更难理解,所以制作了 jsfiddle。

var arr = new Array();
$.each([1,2,3], function(index,element){
if (element == 2){
arr[index] = element;
}
});

arr 必须只有 1 个元素,但 arr.length 返回 2,因为第一个数组槽为空。

这是一个 fiddle http://jsfiddle.net/moay7y95/

我很确定这是一件简单而愚蠢的事情,但我一直没能找到答案。

提前致谢!

最佳答案

您正在将数组中的元素推送到 1 索引处。因此,javascript 默认将 undefined 放在 0 索引处。

因此,在 each 的末尾,您的数组将是

[undefined, 2];

这就是您将 length 设置为 2 的原因。

您可以使用push 向数组中添加元素:

$.each([1, 2, 3], function (index, element) {
if (element == 2) {
arr.push(element);
elem++;
}
});

演示:https://jsfiddle.net/tusharj/moay7y95/2/

The push() method adds one or more elements to the end of an array and returns the new length of the array.

文档:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/push

关于javascript - JS数组声明中的空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30233172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com