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 ];
});