角度数组滤波器



我有来自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))

最新更新