JS操作数组,向数组中添加数据,第二个数据总是覆盖第一个数据怎么回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS操作数组,向数组中添加数据,第二个数据总是覆盖第一个数据怎么回事相关的知识,希望对你有一定的参考价值。

这是我的代码:
我要做的是如果把选中的复选框的id添加到数组中
function addToArray(id) //此处id为复选框的id,动态生成的 var addArray = new Array(); //新建数组存储 选中或取消的复选框 addArray.push(id); alert(addArray.length);
不好意思,写错了,new Array(); 应该放在外面

设为全局就可以了
var addArray = new Array(); //新建数组存储 选中或取消的复选框
 function addToArray(id)   //此处id为复选框的id,动态生成的        
        addArray.push(id);
        alert(addArray.length);
    

参考技术A 代码贴全啊 这样看 看不出来 参考技术B 也就是说前两个数据是一样的?追问

不一样的,alert弹出框里数组的长度总是1,调试了,结果发现时后面内个id把前面内个id覆盖了

js数组对象操作

参考技术A 声明创建一个数组对象: var arr = new Array(); 或者 var arr = [];

连接两个或者多个数组,并且返回该数组,语法: array.concat(object,object,......);

通过指定字符(参数)对数据进行分割,返回字符串,参数省略的话则用默认用逗号为分隔符

删除数组的最后一个对象,返回该删除元素的值

向数组末尾添加一个或者多个对象,语法: array.push(newObject1,newObject2,.....);

删除数组的第一个对象,并返回删除的元素

向数组开头添加一个或者多个元素,并返回新的长度

从已知数组中返回指定选中的数据(不包括end 对应的元素),如果省略 end 将复制 start 之后的所有元素,该操作不会修改原数组的数据, slice(start,end);

向数组中删除/添加对象,并返回被删除的元素
splice(index,count,item1,item2,......);

方法用户对数组的排序, sort(sortby) ,sortby可选,必须是函数。如调用方法没有使用参数,则按字母顺序进行排序。

只要有一个满足的就返回true,没有满足的返回false

验证数组中是否每个元素都满足指定的条件

没有返回值,可以不知道数组长度
arr.forEach(function(res,index) )

返回值组成新数组,原数组不变

过滤通过条件的元素组成一个新数组,原数组不变

查找出第一个符合条件的数组成员,并返回该成员,如果没有找到就返回undefine

找到的是位置,找不到返回 -1

填充, arr.fill(填充的东西,start,end) 包括end

以上是关于JS操作数组,向数组中添加数据,第二个数据总是覆盖第一个数据怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

MIPS,动态数组,第三个输入覆盖第二个

js如何向数组里面添加数据和遍历出来数组里面的内容

js数组对象操作

将一个对象推入数组,对象覆盖前一个

js 如何动态添加数组

js数组操作(增删改查)