Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 在数组中添加所有元素_Javascript_Jquery - Fatal编程技术网

Javascript 在数组中添加所有元素

Javascript 在数组中添加所有元素,javascript,jquery,Javascript,Jquery,我有一个函数,它可以得到列表中我的图像的宽度,我需要把它们都数一数。当我在foreach做的时候,它会带来一些奇怪的数字 这个函数是获取每个元素的宽度,我真的不关心每个元素,只关心它们加在一起的宽度是多少 var listWidth = []; $('#thumbContainer ul li').each(function(){ listWidth.push($(this).width()); }); 不确定您尝试了什么,但这应该有效: var listWidth = 0; $('#

我有一个函数,它可以得到列表中我的图像的宽度,我需要把它们都数一数。当我在foreach做的时候,它会带来一些奇怪的数字

这个函数是获取每个元素的宽度,我真的不关心每个元素,只关心它们加在一起的宽度是多少

var listWidth = [];
$('#thumbContainer ul li').each(function(){
    listWidth.push($(this).width());
});

不确定您尝试了什么,但这应该有效:

var listWidth = 0;
$('#thumbContainer ul li').each(function(){
    listWidth += $(this).width();
});

alert( listWidth );
……或者:

var listWidth = 0;
$('#thumbContainer ul li').width(function(i,wid){ listWidth += wid; });

alert( listWidth );

不确定您尝试了什么,但这应该有效:

var listWidth = 0;
$('#thumbContainer ul li').each(function(){
    listWidth += $(this).width();
});

alert( listWidth );
……或者:

var listWidth = 0;
$('#thumbContainer ul li').width(function(i,wid){ listWidth += wid; });

alert( listWidth );
我喜欢用这个:

Array.prototype.addAll = function() {
/** Adds all the elements in the
    specified arrays to this array. 
*/
    for (var a = 0;  a < arguments.length;  a++) {
        arr = arguments[a];
        for (var i = 0;  i < arr.length;  i++) {
            this.push(arr[i]);
        }
    }
}
Array.prototype.addAll=function(){
/**添加列表中的所有元素
为此数组指定的数组。
*/
对于(var a=0;a
我喜欢用这个:

Array.prototype.addAll = function() {
/** Adds all the elements in the
    specified arrays to this array. 
*/
    for (var a = 0;  a < arguments.length;  a++) {
        arr = arguments[a];
        for (var i = 0;  i < arr.length;  i++) {
            this.push(arr[i]);
        }
    }
}
Array.prototype.addAll=function(){
/**添加列表中的所有元素
为此数组指定的数组。
*/
对于(var a=0;a

什么,你到底有什么问题?这个数字怎么会“奇怪”?还有,为什么不能在循环体中累积?最后,如果要构建一个数组,请使用
map
而不是
each
。需要注意的一点是,如果您有:
  • Text
,并计算li标记的宽度,您将获得到包含块边缘的宽度,而不仅仅是文本的宽度。li必须是内联的,才能得到文本宽度。你到底有什么问题?这个数字怎么会“奇怪”?还有,为什么不能在循环体中累积?最后,如果要构建一个数组,请使用
map
而不是
each
。需要注意的一点是,如果您有:
  • Text
,并计算li标记的宽度,您将获得到包含块边缘的宽度,而不仅仅是文本的宽度。li必须是内联的,才能获得文本宽度