如何通过javascript将数据数组推送到另一个数组而不循环
How to push the array of data to another array through javascript without loop
我有一个Json数组,如数据{"alphaNumeric":[]}
。这里我只是想将对象的另一个数组[mentioned below]
推入这个Data,并带有out循环的概念。
data{"numeric":[{"id":"1","alpha":"a"},{"id":"2","alpha":"b"}]}.
我使用了下面的代码:data.alphaNumeric.push(data.numeric);
但是输出是:
data{"alphaNumeric":[[{"id":"1","alpha":"a"},{"id":"2","alpha":"b"}]]}.
期望:
data{"alphaNumeric":[{"id":"1","alpha":"a"},{"id":"2","alpha":"b"}]}.
一种解决方案可能是使用concat
方法。这不是很好,因为它创建了一个全新的数组。
b.alphaNumeric = b.alphaNumeric.concat(a.numeric);
但是使用push
有一个更好的解决方案。它接受不止一个元素,但不幸的是不是作为数组。这可以通过apply
方法来实现:
b.alphaNumeric.push.apply(b.alphaNumeric, a.numeric);
你也可以写你自己的方法(我叫它add
),它会为你做这个动作:
Array.prototype.add = function (array) {
this.push.apply(this, array);
return this;
};
b.alphaNumeric.add(a.numeric);
使用 concat()
data.alphaNumeric.concat(data.numeric);
.push()
和.pop()
用于添加和删除数组中的单个元素。.concat()的返回值就是您要查找的:
var newArr = oldArr.concat(extraArr);
相关文章:
- JavaScript数组包含一个值
- 使用事件更改数组的一个元素
- 从 javascript 数组创建一个 Jquery 数组
- 使用javascript匹配字符串中数组的一个元素
- Angular2从数组创建一个列表
- 在Javascript数组或一个对象中存储多个数据所需的Tweak
- 你能给被劫持的JavaScript数组添加一个函数吗
- 从带有循环的数组中一个接一个地在画布上绘制形状
- 将图像数组从一个窗口传递到另一个窗口,并在javascript的新窗口中显示图像
- 使用拆分字符串的数组创建一个对象
- 多维数组 - 创建一个表
- 将数组从一个函数传递到另一个函数
- 如何将复选框值的数组从一个JSP页面传递到另一个页面
- 使用Knockout.Js将数组绑定到表,并将数组的一个项绑定到另一个元素
- 需要访问数组从一个js到另一个
- 我如何发送数据像数组从一个html文件到另一个html页面
- 从另一个对象和要保存的键数组生成一个对象的最简洁的方法
- 用另一个js数组填充一个javascript数组
- 将对象数组从一个函数传递到另一个函数
- 根据另一个值数组过滤一个对象数组,返回一个空列表