我有来自HTTP Web API的json数组,我想过滤这个数组:
[
{
"bulan": "4",
"tahun": "2017",
"id_program": 4,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 3953,
"target": 900000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 2,
"segmen": "bpu",
"jumlah": 45,
"target": 500000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 8752,
"target": 900000
}]
我需要过滤或选择获取所有 id_segmen=1。这是我的期望:
[
{
"bulan": "4",
"tahun": "2017",
"id_program": 4,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 3953,
"target": 900000
}]
我目前的http.get如下:
this.http.get<JuResponse>(environment.url + '/cps/' + year + '/' + month + '/' + kanwil + '/' + cabang).
subscribe(data => {
let filteredValues = data.filter((data) => value.id_segmen == 1);
console.log(filteredValues);
});
检查下面的代码,items 是来自 WebAPI 的 JSON,fiteredItem 是一个对象数组,其 id_segmen=1
this.filteredItem= this.items.filter((item) => {
return (item.id_segmen ===1);
})
您可以使用
for (var i = 0; i < arrayData.length; i++) {
if (arrayData[i].id_segmen == 1) {
result.push(arrayData[i]);
}
}
试试这个
var arrayData= [
{
"bulan": "4",
"tahun": "2017",
"id_program": 4,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 3953,
"target": 900000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 2,
"segmen": "bpu",
"jumlah": 45,
"target": 500000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 8752,
"target": 900000
}]
var result = [];
for (var i = 0; i < arrayData.length; i++) {
if (arrayData[i].id_segmen == 1) {
result.push(arrayData[i]);
}
}
console.log(result)
您可以使用
Array.filter
let filteredArray = this.myArray.filter(item => item.id_segment===1)
只需使用本机 javascript filter(( 方法,如下所示:
let filteredValues = result.filter((value) => value.id_segmen == 1);
这边filteredValues 将仅包含您的值,id_segmen == 1。
你可以使用Javascript过滤器来实现这个目的
var a = [
{
"bulan": "4",
"tahun": "2017",
"id_program": 4,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 3953,
"target": 900000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 2,
"segmen": "bpu",
"jumlah": 45,
"target": 500000
},
{
"bulan": "4",
"tahun": "2017",
"id_program": 3,
"id_segmen": 1,
"segmen": "ppu",
"jumlah": 8752,
"target": 900000
}];
var c = a.filter(function(val){
return val.id_segmen == 1 ;
});
alert(JSON.stringify(c))