0

我有一个带有键/值对的 javascript 对象,其中值是一个字符串数组:

var errors = {
    "Message": ["Error #1", "Error #2"],
    "Email": ["Error #3", "Error #4"]
};

我想将其转换为每个数组的第一个元素的键/值对,以便它是 a 而不是:

var firstErrorOnly = {
    "Message": "Error #1",
    "Email": "Error #3"
};

我尝试这样做,jQuery.map但我没有得到我想要的结果。我怎样才能做到这一点?

4

2 回答 2

4

for ... in您可以使用和遍历整个对象,hasOwnProperty()以您希望的样式创建一个新对象。

var firstErrorOnly = {};
for( var key in errors ) {
  if ( errors.hasOwnProperty( key ) ) {
    firstErrorOnly[ key ] = errors[key][0];
  }
}
于 2013-01-28T14:36:03.043 回答
2

对于 jQuery 实现,试试这个:

var firstErrorOnly = {};
$.each(errors, function(i, value) {
    firstErrorOnly[i] = value[0];
});

示例小提琴

于 2013-01-28T14:37:12.620 回答