Javascript 如何将对象数组转换为(更大的)字符串数组?
我有一个对象数组,我想把它变成一个字符串数组。有简单的方法吗Javascript 如何将对象数组转换为(更大的)字符串数组?,javascript,arrays,string,object,Javascript,Arrays,String,Object,我有一个对象数组,我想把它变成一个字符串数组。有简单的方法吗 var obj=[ {姓:“丹尼尔”,姓“詹姆斯”}, {姓:“劳拉”,姓:“莫里”} ]; 到 var obj=[“丹尼尔”、“詹姆斯”、“劳拉”、“莫里”] 您可以通过在列表的每个项目上映射函数来创建新列表 示例:y是通过将n=>n+1映射到x的每个项目上而创建的: constx=[10,20,30]; 常数y=x.map(n=>n+1); x; //=> [10, 20, 30] Y //=> [11, 21, 31] 您还
var obj=[
{姓:“丹尼尔”,姓“詹姆斯”},
{姓:“劳拉”,姓:“莫里”}
];
到
var obj=[“丹尼尔”、“詹姆斯”、“劳拉”、“莫里”]
您可以通过在列表的每个项目上映射函数来创建新列表
示例:y
是通过将n=>n+1
映射到x
的每个项目上而创建的:
constx=[10,20,30];
常数y=x.map(n=>n+1);
x;
//=> [10, 20, 30]
Y
//=> [11, 21, 31]
您还可以将事物列表转换为其他事物列表:x
是数字列表,y
是字符串列表
constx=[1,2,3];
const y=x.map(n=>'似乎所有值的数组都是目标
这是对象数组的结构:
let data = [ //(begin array)
{ //(begin first object)
firstName: /*(key or property)*/ "Jon", /*(VALUE) what you want*/
lastName: /*(key or property)*/ "Doe" /*(VALUE) what you want*/
}, //(end first object)
//... (more objects, etc)
]; //(end array)
采用一种新的组合方法
- 它在每个对象上运行一个函数,然后如果返回是数组,则将其展平
.flatMap()
中的回调函数应该能够从对象数组中的每个对象提取值
- 对于此阶段,使用返回给定对象的值数组
每个方法返回的结果如下所示:
Object.values()
每次返回将从:{key1:“value1”,key2:“value2”}
到[“value1”,“value2”]
如果使用了.map()
,则最终返回值将是:[[“value1”、“value2”],…]
数组
如果将.flat()
应用于#2的结果,则返回值将为:[“value1”、“value2”、…]
.flatMap()
同时执行#2和#3
下面的演示提供了一个自定义函数:getvalues()
。传入一个对象数组,它将返回每个对象的所有值的数组。与其他答案中使用的其他代码相比,使用此函数的优势在于实际键(aka属性)不必知道,每个对象中的键/值对数量也无关紧要。因此,输入:
let data = [
{firstName: "Jon", lastName: "Doe", age: 30},
{first: "Jane", last: "Doe"},
{color: "green"}
];
这也是有效的
演示
let数据=[
{第一个:“丹尼尔”,最后一个:“詹姆斯”},
{第一个:“劳拉”,最后一个:“莫里”}
];
const getValues=arrayOfObjects=>arrayOfObjects.flatMap(object=>object.values(object));
console.log(getValues(data));
什么是字符串数组?请在尝试的同时添加结果。有简单的方法吗?
没有,因为没有像字符串数组这样的概念。对不起,我不熟悉编码。你的意思是!