我有一个数组,输出如下(使用console.log):
["{"Heading":"EmployeeNumber","Type":"Text"}",
"{"Heading":"First Name","Type":"Text"}",
"{"Heading":"Last Name","Type":"Text"}",
"{"Heading":"Payroll","Type":"Text"}",
"{"Heading":"MonthlyEmployeeCost","Type":"Text"}",
"{"Heading":"MonthlyEmployerCost","Type":"Text"}",
"{"Heading":"Benefit","Type":"Text"}", "{"Heading":"DOB","Type":"Text"}"]我想检索数组中每个类型的值。因此,在上面的示例中,我希望每个Type都能通过"Text"。
有人能澄清一下这是怎么做到的吗?
发布于 2018-02-14 08:17:48
首先,这种格式非常奇怪。我猜您有一些服务器端进程,它对每个对象进行编码,将编码放入一个数组中,然后对数组进行编码。这是有问题的。
无论如何,数组中的每一项都被编码为JSON数据,因此需要分别解析每一项以获得其Type。
您可以使用.map()来收集结果。
var data = ['{"Heading":"EmployeeNumber","Type":"Text"}', '{"Heading":"First Name","Type":"Text"}', '{"Heading":"Last Name","Type":"Text"}', '{"Heading":"Payroll","Type":"Text"}', '{"Heading":"MonthlyEmployeeCost","Type":"Text"}', '{"Heading":"MonthlyEmployerCost","Type":"Text"}', '{"Heading":"Benefit","Type":"Text"}', '{"Heading":"DOB","Type":"Text"}'];
var result = data.map(s => JSON.parse(s).Type);
console.log(result);
我假设每个字符串外部的双引号只是控制台显示的结果,所以我将它们切换为单引号。
但同样,编码可能需要在其他地方进行修复。
发布于 2018-02-14 08:15:31
对of迭代使用。
var arr = [{"Heading":"EmployeeNumber","Type":"Text"}, {"Heading":"First Name","Type":"Text"}, {"Heading":"Last Name","Type":"Text"}, {"Heading":"Payroll","Type":"Text"}, {"Heading":"MonthlyEmployeeCost","Type":"Text"}, {"Heading":"MonthlyEmployerCost","Type":"Text"}, {"Heading":"Benefit","Type":"Text"}, {"Heading":"DOB","Type":"Text"}];
for (obj of arr) {
console.log(obj.Type);
}下面的代码将输出所有类型数据,即Text,或者您可以将其存储到另一个数组中以供自己使用。
https://stackoverflow.com/questions/48777702
复制相似问题