Javascript 如何循环此JSON字符串以通过特定键获得结果?
我有一个JSON字符串Javascript 如何循环此JSON字符串以通过特定键获得结果?,javascript,jquery,loops,Javascript,Jquery,Loops,我有一个JSON字符串 var j_string = '[{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]'; 如何基于类型循环此字符串以获取ID的值 我当前的脚本: //var txt_memo_int = ""; $.each($.parseJSON(j_string), function(
var j_string = '[{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]';
如何基于类型
循环此字符串以获取ID的值
我当前的脚本:
//var txt_memo_int = "";
$.each($.parseJSON(j_string), function(){
$.each(this, function(key,value){
if(key == "TYPE"){
if(value == "2"){
alert(value);
}
}
});
});
我的期望输出:
ID
B001
B002
B003
非常简单,只需使用
filter
删除您不需要的项目,然后按您想要的方式打印即可:)
const j_string='[{“ID”:“A001”,“TYPE”:“1”},{“ID”:“A002”,“TYPE”:“1”},{“ID”:“B001”,“TYPE”:“2”},{“ID”:“B002”,“TYPE”:“2”},{“ID”:“B003”,“TYPE”:“2”};
const requiredType='2';
const filteredResult=JSON.parse(j_string).filter({TYPE})=>TYPE==requiredType);
filteredResult.forEach(({ID})=>console.log(ID))代码>非常简单,只需使用过滤器
删除您不想要的项目,然后按您想要的方式打印:)
const j_string='[{“ID”:“A001”,“TYPE”:“1”},{“ID”:“A002”,“TYPE”:“1”},{“ID”:“B001”,“TYPE”:“2”},{“ID”:“B002”,“TYPE”:“2”},{“ID”:“B003”,“TYPE”:“2”};
const requiredType='2';
const filteredResult=JSON.parse(j_string).filter({TYPE})=>TYPE==requiredType);
filteredResult.forEach(({ID})=>console.log(ID))
您可以迭代对象数组,并检查属性TYPE
以获得所需的值和输出ID
var数组=[{“ID”:“A001”,“TYPE”:“1”},{“ID”:“A002”,“TYPE”:“1”},{“ID”:“B001”,“TYPE”:“2”},{“ID”:“B002”,“TYPE”:“2”},{“ID”:“B003”,“TYPE”:“2”}]
array.forEach(o=>{
如果(o.TYPE=='2'){
控制台日志(o.ID);
}
});
您可以迭代对象数组,并检查属性TYPE
以获得所需的值和输出ID
var数组=[{“ID”:“A001”,“TYPE”:“1”},{“ID”:“A002”,“TYPE”:“1”},{“ID”:“B001”,“TYPE”:“2”},{“ID”:“B002”,“TYPE”:“2”},{“ID”:“B003”,“TYPE”:“2”}]
array.forEach(o=>{
如果(o.TYPE=='2'){
控制台日志(o.ID);
}
});代码>这是一个像蒂姆说的对象数组。可以在javascript中这样做:
var j_string = [
{"ID":"A001","TYPE":"1"},
{"ID":"A002","TYPE":"1"},
{"ID":"B001","TYPE":"2"},
{"ID":"B002","TYPE":"2"},
{"ID":"B003","TYPE":"2"} ]
for(i=0; i<j_string.length; i++) {
if(j_string[i].TYPE === '2') {
console.log(j_string[i].ID)
}
}
var j_字符串=[
{“ID”:“A001”,“TYPE”:“1”},
{“ID”:“A002”,“TYPE”:“1”},
{“ID”:“B001”,“TYPE”:“2”},
{“ID”:“B002”,“TYPE”:“2”},
{“ID”:“B003”,“类型”:“2”}]
对于(i=0;i,它是一个对象数组,如Teemu所说。它可以用javascript实现,如下所示:
var j_string = [
{"ID":"A001","TYPE":"1"},
{"ID":"A002","TYPE":"1"},
{"ID":"B001","TYPE":"2"},
{"ID":"B002","TYPE":"2"},
{"ID":"B003","TYPE":"2"} ]
for(i=0; i<j_string.length; i++) {
if(j_string[i].TYPE === '2') {
console.log(j_string[i].ID)
}
}
var j_字符串=[
{“ID”:“A001”,“TYPE”:“1”},
{“ID”:“A002”,“TYPE”:“1”},
{“ID”:“B001”,“TYPE”:“2”},
{“ID”:“B002”,“TYPE”:“2”},
{“ID”:“B003”,“类型”:“2”}]
对于(i=0;i,您可以根据类型透视JSON数组并缓存它,如果这是您经常执行的操作的话。
最简单的方法是
var j_string = [{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]
var typeMap = j_string.reduce((acc,item) => {
if(!acc[item['TYPE']]) {
acc[item['TYPE']] = [];
}
acc[item['TYPE']].push(item);
return acc;
},{})
现在,您有了一个新的表单对象
{
1: [{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},
2: [{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]
}
很明显,根据类型获取值现在变得很简单。只需将typeMap[type]
放在type存储所需类型的位置。如果您经常执行此操作,您可以根据类型透视JSON数组并将其缓存。
var j_string = '[{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]';
function myFunction() {
var parseJString = JSON.parse(j_string);
var storeArr = [];
parseJString.find(function(obj){
if(obj.TYPE == 2){
storeArr.push(obj.ID);
}
});
document.getElementById("demo").innerHTML = storeArr;
最简单的方法是
var j_string = [{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]
var typeMap = j_string.reduce((acc,item) => {
if(!acc[item['TYPE']]) {
acc[item['TYPE']] = [];
}
acc[item['TYPE']].push(item);
return acc;
},{})
现在,您有了一个新的表单对象
{
1: [{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},
2: [{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]
}
很明显,根据类型获取值现在很简单。只需将typeMap[type]
放在type存储所需类型的位置。j_字符串的格式是string,j_字符串的格式是string
var j_string = '[{"ID":"A001","TYPE":"1"},{"ID":"A002","TYPE":"1"},{"ID":"B001","TYPE":"2"},{"ID":"B002","TYPE":"2"},{"ID":"B003","TYPE":"2"}]';
function myFunction() {
var parseJString = JSON.parse(j_string);
var storeArr = [];
parseJString.find(function(obj){
if(obj.TYPE == 2){
storeArr.push(obj.ID);
}
});
document.getElementById("demo").innerHTML = storeArr;