如何用JavaScript将对象数组转换为普通数组(Node-RED用)
如何将对象数组转换为普通字符串数组(用于Node-RED下拉菜单)
我现在是编程新手,之前学的知识几乎都忘了。我的数据库查询返回了这样一个对象数组:
const options = [{"breed":"bulldog"},{"breed":"labrador"},{"breed":"beagle"},{"breed":"dobermann"}];
我需要把它转换成普通字符串数组,用来填充Node-RED的下拉菜单,目标格式是:
const breed = ["bulldog","labrador","beagle","dobermann"];
我试过用split和map方法,但没得到预期结果,应该是代码写错了,求正确的解决方案。
解决方案:使用map方法
split是用于分割字符串的方法,不适合处理对象数组,而map才是遍历数组提取属性的正确工具。以下是正确代码:
// 数据库返回的对象数组 const options = [{"breed":"bulldog"},{"breed":"labrador"},{"breed":"beagle"},{"breed":"dobermann"}]; // 提取每个对象的breed属性生成新数组 const breed = options.map(item => item.breed);
运行后breed数组就会是你需要的["bulldog","labrador","beagle","dobermann"],可以直接用于Node-RED的下拉菜单填充。
代码说明:
options.map()会遍历数组中的每一个对象元素- 箭头函数
item => item.breed表示对每个对象item,返回它的breed属性值 map方法最终会返回一个由所有breed值组成的新数组,完全符合你的需求
内容的提问来源于stack exchange,提问作者Gez
相关产品推荐
相关产品推荐

