如何从指定对象中提取learnset的键(跳过数组)并以逗号分隔
提取技能名称的解决方案
嘿,作为编程新手遇到对象结构的处理问题太正常啦,我来帮你快速搞定这个需求~
你的原代码返回了整个learnset对象的完整内容,是因为你直接把整个对象转成了JSON字符串。而你需要的其实是这个对象里的属性名(也就是技能名称),我们可以用JavaScript的Object.keys()方法来轻松提取:
完整代码示例
const dex = require("sets.js").BattleLearnsets; const poke = "missingno"; // 提取learnset对象的所有技能名称(属性名)组成数组 const skillNames = Object.keys(dex[poke].learnset); // 将数组转成逗号分隔的字符串 const commaSeparatedSkills = skillNames.join(', '); // 输出结果 console.log(commaSeparatedSkills);
代码解释
Object.keys(dex[poke].learnset):这个方法会遍历learnset对象,把所有的技能名称(也就是对象的键)提取出来,返回一个数组,比如["blizzard", "bubblebeam", "cut", ...]。join(', '):把数组里的每个元素用「逗号+空格」连接起来,直接得到你想要的逗号分隔格式的字符串。
如果需要直接得到带引号的JSON格式字符串,也可以在最后加一步JSON.stringify(commaSeparatedSkills),不过一般情况下直接用join后的字符串就足够啦。
内容的提问来源于stack exchange,提问作者Sycho path
相关产品推荐
相关产品推荐

