Javascript 如何将对象的每个值放入数组中
我有两个目标:Javascript 如何将对象的每个值放入数组中,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有两个目标: a = {A: 1, B: 2}; a = {C: 3, D: 4}; 我需要将对象的属性值放入一个数组中。所以,我通过迭代每个对象来实现这一点,但接下来,将其推入一个数组将返回两个分开的 $.each(a, function(_key, _val) { var arr = []; arr.push(_val); console.log(arr); }); 如何做到这一点?可能吗? 我需要这个:arr=[1,2,3,4]您每次都在初始化arr。试试这个
a = {A: 1, B: 2};
a = {C: 3, D: 4};
我需要将对象的属性值放入一个数组中。所以,我通过迭代每个对象来实现这一点,但接下来,将其推入一个数组将返回两个分开的
$.each(a, function(_key, _val) {
var arr = [];
arr.push(_val);
console.log(arr);
});
如何做到这一点?可能吗?
我需要这个:
arr=[1,2,3,4]代码>您每次都在初始化arr。试试这个:
var arr = [];
$.each(a, function(_key, _val) {
arr.push(_val);
console.log(arr);
});
这是一把小提琴:
你也可以尝试使用.concat。以下是W3学校的一个例子:
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var children = hege.concat(stale);
这就是您要找的吗?不要在$中初始化数组。每个函数。它将在每次$时分配新数组。每个函数调用都以arr
变量中的最后一个数组元素结束
a={
答:1,,
B:2
};
b={
C:3,
D:4
};
var-arr=[];
功能推送阵列(a){
$.each(a,函数(_key,_val){
arr.push(_val);
});
}
pushToArray(a);
普什托雷(b);
控制台日志(arr)代码>
下面概述的方法首先创建两个单独的数组,一个来自a
,一个来自b
,然后将它们连接在一起(借助jQuery方法的一点帮助)
您可以通过使用Object.assign简单地实现这一点
var a = {A: 1, B: 2};
var b = {C: 3, D: 4};
var copy = Object.assign(a, b);
var result =[];
for(var i in copy){
result.push(copy[i]);
}
console.log(result);
谢谢。初始化var arr=[]
在每个对象之外,两个对象的变量名都是相同的,即a
,这样a
将只保存{C:3,D:4}
。这就是问题所在,这是相同的名称在这种情况下,这些数组具有相同的“名称”,如果您只是将新值重新分配给“a”变量,那么它仍然可以工作,只要:1)您至少在每个外部定义了arr。您一直在重新初始化它;2) 在重新分配之前,请执行每个$。这就是你所需要的吗?不鼓励只使用代码的答案。请补充一点解释。另外,您的解决方案没有提供问题的确切答案,因为生成的数组排序不正确。最后,变量数组
不存在。它应该是finalarray=array2.concat(array1)
。
a = {A: 1, B: 2};
b = {C: 3, D: 4};
var arrayFromA = $.map(a, function(value, index) {
return [value];
});
var arrayFromB = $.map(b, function(value, index) {
return [value];
});
finalArray = arrayFromB.concat(arrayFromA);
var a = {A: 1, B: 2};
var b = {C: 3, D: 4};
var copy = Object.assign(a, b);
var result =[];
for(var i in copy){
result.push(copy[i]);
}
console.log(result);