Javascript 从键/值结构中格式化的数组中检索值
我有一个使用console.log输出如下的数组:Javascript 从键/值结构中格式化的数组中检索值,javascript,arrays,key-value,Javascript,Arrays,Key Value,我有一个使用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":"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 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);
}
下面的代码将输出所有文本类型数据,或者您可以将其存储到另一个数组中供自己使用。首先,这种格式非常奇怪。我猜您有一些服务器端进程,对每个对象进行编码,将编码放入数组,然后对数组进行编码。这是有问题的 无论如何,数组中的每个项都被编码为JSON数据,因此需要分别解析每个项以获取其类型 您可以使用.map来收集结果 var数据=[{Heading:EmployeeNumber,Type:Text}',{Heading:First Name,Type:Text}',{Heading:Last Name,Type:Text}',{Heading:Payroll,Type:Text}',{Heading:MonthlyEmployeeCost,Type:Text}',{Heading:monthlyemployeercost,Type:Text}',{Heading:benefitude,Type:Text}',{Heading:DOB,Type:Text}'; var result=data.maps=>JSON.parses.Type;
console.logresult@MikeMcCaughan我同意你的看法,不过OP似乎有一系列字符串,而不是objects@Phil,那么合适的复制品应该是…@MikeMcCaughan找到了!我认为这只是Chrome控制台显示字符串数组的方式。请使用data array~控制台亲自尝试。logdata@Phil:我说的更多的是数组中单独的JSON字符串是奇数。我感觉OP的服务器代码正在对每个对象进行编码,将其放入数组中,然后再次编码。因此,当它进入浏览器时,JSON.parse只解码一个级别的编码。它看起来确实像双重编码