删除以元音js开头的对象键

约翰·皇冠

我需要删除所有键,这些键从对象的元音开始,但是我不知道该怎么做。到目前为止,这就是我所拥有的。在此示例中,仅应保留“ chip”键,而所有其他键均应删除。你们能帮我吗?

'use strict'

function removeVowelKeys(object) {
  for (let key in object) {
    if (key[0] === 'a' || key[0] === 'A' || key[0] === 'u' || key[0] === 'U' ||
    key[0] === 'i' || key[0] === 'I' || key[0] === 'o' || key[0] === 'O' ||
    key[0] === 'e' || key[0] === 'E' || key[0] === 'y' || key[0] === 'Y' ) {
      delete object.key
  }
}
}


console.log(removeVowelKeys({
  alarm: 'This is SPARTA!!!',
  chip: 100,
  isValid: false,
  Advice: 'Learn it hard',
  onClick: 'make it great again',
}));
威尔·詹金斯

您需要从函数中返回对象,但也不应在对其进行循环时从对象中删除键。

这样的事情会做到这一点:

const removeVowelKeys = (obj) =>
  Object.fromEntries(
    Object.entries(obj).filter(
      ([k]) => !["a", "e", "i", "o", "u"].includes(k.toLowerCase()[0])
     )
  );

console.log(removeVowelKeys({
  alarm: 'This is SPARTA!!!',
  chip: 100,
  isValid: false,
  Advice: 'Learn it hard',
  onClick: 'make it great again',
}));

我还修复了您的原始方法,以便在遍历对象之前复制该对象,并使用[square bracket]表示法正确使用您的键:

function removeVowelKeys(obj) {
  for (let key in { ...obj }) {
    if (
      key[0] === "a" ||
      key[0] === "A" ||
      key[0] === "u" ||
      key[0] === "U" ||
      key[0] === "i" ||
      key[0] === "I" ||
      key[0] === "o" ||
      key[0] === "O" ||
      key[0] === "e" ||
      key[0] === "E" ||
      key[0] === "y" ||
      key[0] === "Y"
    ) {
      delete obj[key];
    }
  }
  return obj;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Redis删除除以开头的键以外的所有键

来自分类Dev

删除以“;”开头的行

来自分类Dev

删除以数字开头的列

来自分类Dev

如何删除以“-”开头的文件

来自分类Dev

如何删除以...开头的类?

来自分类Dev

如何删除以“-”开头的文件

来自分类Dev

如何删除以“-”开头的文件

来自分类Dev

无法删除以“-”开头的文件

来自分类Dev

仅当元音不以单词开头时才删除元音

来自分类Dev

删除元音,除非它是单词的开头

来自分类Dev

删除以NS开头的密钥的NSUserDefaults

来自分类Dev

删除以XXX开头的注册表

来自分类Dev

python删除以'\ u ...'开头的单词

来自分类Dev

git删除以冒号开头的文件

来自分类Dev

在phpStorm中删除以行开头

来自分类Dev

如何删除以<tag>开头,以</ tag>结尾

来自分类Dev

Python,删除以特定字符开头的单词

来自分类Dev

git删除以冒号开头的文件

来自分类Dev

DOS:删除以开头的文件夹

来自分类Dev

删除以特定文字开头的班级名称

来自分类Dev

删除以数字开头和结尾的行

来自分类Dev

删除以开头但不包含的文件

来自分类Dev

如何删除以“ $”开头的文件夹?

来自分类Dev

删除以XXX开头的注册表

来自分类Dev

使用终端专门删除以._开头的文件

来自分类Dev

python删除以'\ u ...'开头的单词

来自分类Dev

sed删除以'du'开头的行

来自分类Dev

TCL删除以字符开头的整行

来自分类Dev

删除以“ @”开头的术语,但前提是它们位于句子开头