我刚开始做程序员。有人可以帮我解决这个问题吗?到目前为止,我所拥有的只是:
var myArr = [];
for (var k in input) {
myArr.push(
我是在正确的轨道上吗?
编写一个循环,将对象中的所有值推送到数组。
input: {two: 2, four: 4, three: 3, twelve: 12}
output: [2, 4, 3, 12]
答案 0 :(得分:2)
无循环:
const input = {two: 2, four: 4, three: 3, twelve: 12};
const myArr = Object.values(input);
console.log(myArr);
// output: [2, 4, 3, 12]
答案 1 :(得分:1)
input = {二:2,四:4,三:3,十二:12}
const output = Object.keys(input).map(i => input [i])
[2,4,3,12]
这将帮助您找到确切的输出。
此链接将为您提供更多信息 https://medium.com/chrisburgin/javascript-converting-an-object-to-an-array-94b030a1604c
答案 2 :(得分:0)
var myArr = [];
var input = {two: 2, four: 4, three: 3, twelve: 12};
for (var k in input) {
myArr.push(input[k]);
}
alert(myArr);

答案 3 :(得分:0)
data.input[k]
就是你想要的
var data = {input: {two: 2, four: 4, three: 3, twelve: 12}}, myArr = [];
for(k in data.input) myArr.push(data.input[k]);
答案 4 :(得分:0)
如果您使用javascript native编写它,请使用push()函数:
例如:
var persons = {roy: 30, rory:40, max:50};
var array = [];
// push all person values into array
for (var element in persons) {
array.push(persons[element]);
}
祝你好运
答案 5 :(得分:0)
答案 6 :(得分:0)
在for in
循环的每次迭代中,变量k
被赋予对象input
中的下一个属性名称,因此您必须推送input[k]
。对于对象具有其原型属性的情况,您只想将对象自己的属性推送到数组(这可能是您想要做的),您应该使用hasOwnProperty
。
var input: {two: 2, four: 4, three: 3, twelve: 12}
var myArr = [];
for (var k in input) {
// if( input.hasOwnProperty( k) ) { //not necessary
myArr.push( input[k] );
// }
}
请注意for in
以任意顺序循环遍历对象,即数组中项目的顺序可能与您预期的不同。
另请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
编辑:正如Alnitak在对OP的评论中所提到的,现在可能没有必要使用hasOwnPropery()
。