Javascript 仅从对象文本获取值

Javascript 仅从对象文本获取值,javascript,Javascript,从这个问题开始: 是否可以仅从一组名称:值对中获取值?假设我们有一个对象列表,每个对象都有任意数量的值: var items = [ {name:"Foo", age:16, gender:"m"}, {name:"Bar", age:17, gender:"f"}, {name:"foo", age:16, gender:"m"}, {name:"bar", age:18, gender:"m"}, {name:"foobar", age:18, gen

从这个问题开始:

是否可以仅从一组名称:值对中获取值?假设我们有一个对象列表,每个对象都有任意数量的值:

var items = [
    {name:"Foo", age:16, gender:"m"},
    {name:"Bar", age:17, gender:"f"},
    {name:"foo", age:16, gender:"m"},
    {name:"bar", age:18, gender:"m"},
    {name:"foobar", age:18, gender:"f"},
    {name:"barfoo", age:20, gender:"f"}
];
如何返回如下列表:

var items = [
    ["Foo", 16, "m"],
    ["Bar", 17, "f"],
    ["foo", 16, "m"],
    ["bar", 18, "m"],
    ["foobar", 18, "f"],
    ["barfoo", 20, "f"]
];
我已经试过了,但不知道是否有更好的方法

Array.prototype.getValues = function () {
    if(typeof(this[0]) != typeof({}))
        throw "Array values are expected to be == typeof({})";
    var items = [];
    for (var i = 0; i < this.length; i++) {
        var r = [];
        for (var l in this[i]) {
            r.push(this[i][l]);
        }
        items.push(r);
    }
    return items; 
};
Array.prototype.getValues=函数(){
if(typeof(this[0])!=typeof({}))
抛出“数组值应为==typeof({})”;
var项目=[];
for(var i=0;i
我必须问一下你试过什么?我不明白为什么这一点被否决了这么多。-无意冒犯,但在StackOverflow上,人们并不是真的为你写代码,而是在你陷入困境时查看你的代码,告诉你犯了什么样的错误。所以,如果你问一个问题,你通常应该包括你已经尝试过的东西。我删除了我的否决票,因为你包含了你的代码。是的,我通常会发布我尝试过的东西。我引用了我在另一个问题中已经编写的代码。这几乎是一样的…在这一个,而不是使用
if(c==0)items.push(r[n]);c+=1,我尝试了其他方法,但在另一种情况下,效果不太好。所以我想知道一种更好的方法来处理任何情况。@SmartLemon
Array。prototype
绝对不是这样做的地方,因为这是一种非常特殊的方法,并不适用于每个数组。同意@bfavaretto,Array.prototype应该只适用于所有数组。我同意,但我很多东西都需要它。而且它只存在于js的某些文件中,并且该页面中只使用该文件。但是为什么不定义一个可以传递数组的函数呢?不需要把它放在原型机上
var newitems=[];
//loop through each item in the original
for(var i =0; i<items.length; i++)
{
  newitems[i] = [];
  //loop over the properties in each element and push it to an array
  for(var prop in items[i]){
    newitems.push(items[i][prop]);
  }
}
var newitems = items.map(function(elem){
  var item = [];
  for(var prop in elem){
    item.push(elem[prop]);
  }
  return item;
})