Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/jQuery动态数组_Javascript_Jquery - Fatal编程技术网

Javascript/jQuery动态数组

Javascript/jQuery动态数组,javascript,jquery,Javascript,Jquery,我正在尝试使用JS/jQuery创建一个动态数组。HTML结构是: <ul> <li><img src="1"/></li> <li><img src="2"/></li> <li><img src="3"/></li> </ul> 我原以为我可以使用jQuery.each()方法……但我总是迷路。如果你能提供一个解释,我将非常感激 谢谢

我正在尝试使用JS/jQuery创建一个动态数组。HTML结构是:

<ul>
    <li><img src="1"/></li>
    <li><img src="2"/></li>
    <li><img src="3"/></li>
</ul>
我原以为我可以使用jQuery
.each()
方法……但我总是迷路。如果你能提供一个解释,我将非常感激

谢谢

var imagesArray = $('img').map(function(){ return this.src; }).get();
下面是一个演示:


循环遍历所有元素,收集回调函数返回的任何内容,并从中创建一个新数组

但是,返回的结果的行为类似于数组,但实际上是一个jQuery对象(当然,它在您的用例中可能没有什么区别)

如果要将jQuery对象转换为数组,可以使用。

您认为正确:)可以使用jQuery.each()方法。。如下

<script type="text/javascript">
$(document).ready(function(){
  var imagesArray =new Array();
  $("ul li img").each(function(){
     imagesArray.push($(this).attr('src'));
  });
  console.log(imagesArray); // this returns ["1", "2", "3"]
});
</script>

$(文档).ready(函数(){
var imagesArray=新数组();
$(“ul li img”)。每个(函数(){
imagesArray.push($(this.attr('src'));
});
console.log(imagesArray);//返回[“1”、“2”、“3”]
});

使用此代码片段在jquery中循环数组

1) 首先我们声明一个arrray

var MapAreas = [];
2) 现在我们使用foreach循环

 $.each(MapAreas, function (index, value) {

         alert(index + ':' + value);   
  }
3) 要检查数组中是否已经存在值,请使用以下代码段

if ($.inArray(value, MapAreas) >= 0) {}
4) 要从数组中删除项,请使用此函数

RemoveItemFromArray(value, arr) {

       return jQuery.grep(arr, function (elem, index) {

       return elem !== value;

    });

}

当我将其添加到我的代码并警告结果时。警报中没有显示任何内容。也许我做错了什么。另外,你能解释一下.map和.get函数吗。求你了@米奇-我用一个演示更新了我的答案,并做了进一步的解释。
RemoveItemFromArray(value, arr) {

       return jQuery.grep(arr, function (elem, index) {

       return elem !== value;

    });

}