Javascript 删除以特定字母开头的键

Javascript 删除以特定字母开头的键,javascript,Javascript,如果我有这个: var result = [ { A: '0', b1: '0' }, { B: '1', b2: '1' }, { C: '2', b3: '2' } ]; 如何删除以“b”开头的键?(和/或第二个键/值对) 因此,有: result = [ { A: '0'}, { B: '1'}, { C: '2'} ]; 并且能够像这样打电话: 结果。字母 console.log(result.letters) = "le

如果我有这个:

var result =  [

    { A: '0', b1: '0' },
    { B: '1', b2: '1' },
    { C: '2', b3: '2' }
];
如何删除以“b”开头的键?(和/或第二个键/值对)

因此,有:

 result =  [

    { A: '0'},
    { B: '1'},
    { C: '2'}
];
并且能够像这样打电话:

结果。字母

console.log(result.letters) = 

"letters" : 
{
  'A' : '0',
  'B' : '1',
  'C' : '2',
..}
试一试

并将其称为
result。字母
而不是直接称为
result
进行以下修改

var letters = result.map(function(obj){
  Object.keys(obj).forEach(function(key){
    key.indexOf("b") == 0 && delete obj[key];
  });
  return obj;
});    
result = { letters: {}};
letters.forEach(function(obj){
  var keyName = Object.keys(obj)[0];
  result.letters[ keyName ] = obj[ keyName ];
});

您可以使用
String.prototype.startsWith()
函数删除键

var结果=[
{A:'0',b1:'0'},
{B:'1',b2:'1'},
{C:'2',b3:'2'}
];
results.forEach(函数(结果){
for(var输入结果){
if(键启动带('b')){
删除结果[键];
}
}
});

document.body.innerHTML=''+JSON.stringify(结果,null,4)+''“并且为了能够像这样调用:result.letters,”您的意思是使用array.map(函数(obj){return obj..});:很好,谢谢,但我希望能够使用类似的东西:
result.letters
,正如我在帖子中所说:差不多了!我不想要结果中的括号。你可以在我的帖子中看到的字母。这可能吗?谢谢!如果你想调用函数,你需要
()
(括号).@Mr.polywhill抱歉,没有找到你。哪个函数?@Mr.polywhill仍然没有理解您的意思:很好,谢谢,但我想能够使用诸如:result.letters之类的东西,正如我在帖子中所说。什么是sth,为什么会产生
结果。letters
返回一个带有键
letters
?也许OP希望将此函数添加到Array.prototype中?某物意味着某物:p。我想他希望能够像调用函数一样调用它,例如result.filteroutStringsWithB()等@polywhill先生:我的意思是类似(某事物)的东西。我想创建一个名为letters的对象,它将包含上述信息<代码>字母:{A:0,B:1…}
@Polywhill先生:您好,这会产生与上述代码相同的结果。我只想删除括号。谢谢(向上投票)
var letters = result.map(function(obj){
  Object.keys(obj).forEach(function(key){
    key.indexOf("b") == 0 && delete obj[key];
  });
  return obj;
});    
result = { letters: {}};
letters.forEach(function(obj){
  var keyName = Object.keys(obj)[0];
  result.letters[ keyName ] = obj[ keyName ];
});