Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取具有特定值的数组_Javascript_Html_Arrays - Fatal编程技术网

Javascript 获取具有特定值的数组

Javascript 获取具有特定值的数组,javascript,html,arrays,Javascript,Html,Arrays,我有一个包含年龄和数字的json数组值。我想创建一个新的数组集,其中包含{“num”:2}(即)需要返回[{“age”:2,“num”:2},{“age”:3,“num”:2}] var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}]; console.log(数组值); 函数fetchList(数组值){ 返回数组_val={“num”:1}; } 数组值筛选器(获取列表) console.log(数组值)您需要使用 注意:正

我有一个包含年龄和数字的json数组值。我想创建一个新的数组集,其中包含
{“num”:2}
(即)需要返回
[{“age”:2,“num”:2},{“age”:3,“num”:2}]

var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
console.log(数组值);
函数fetchList(数组值){
返回数组_val={“num”:1};
}
数组值筛选器(获取列表)
console.log(数组值)您需要使用


注意:正如@NinaScholz所说,您需要将字符串转换为数组。

我在代码中看到两个问题:

  • 您不会将字符串解析为JSON
  • 你有一个错误的过滤器 作用
  • var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
    console.log(数组值);
    函数fetchList(数组值){
    return array_val.num==2;//只返回num为2的记录
    }
    //这里将字符串解析为JSON并应用过滤器
    var data=JSON.parse(array_val).filter(fetchList);
    
    控制台日志(数据)
    您需要解析JSON字符串。匹配条件错误。
    num
    是对象的内部属性。因此您需要匹配
    a.num==2
    。不要忘记添加
    =

    var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
    console.log(数组值);
    函数获取列表(a){
    返回a.num==2;
    }
    var res=JSON.parse(array_val).filter(fetchList)
    控制台日志(res)这应该可以

    var-array_-val=JSON.parse(“[{”age:1,“num:1},{”age:2,“num:2},{”age:3,“num:2}]”);
    console.log(数组值);
    函数fetchList(数组值){
    返回数组_val.num==2;
    }
    数组值=数组值过滤器(fetchList)
    
    console.log(数组值)这会起作用:

    var requiredValue=array_val.filter(函数(项){return item.num==2; });

    试试这个

    var array_val=JSON.parse('[{"age":1,"num":1},{"age":2,"num":2},{"age":3,"num":2}]');
    var newarr =[]
    
    for(let i of array_val){
    if(i.num == 2){
    newarr.push(i);
    }
    
    }
    
    console.log(newarr);
    

    在使用数组之前,获取
    JSON.parse
    var array_val=JSON.parse('[{"age":1,"num":1},{"age":2,"num":2},{"age":3,"num":2}]');
    var newarr =[]
    
    for(let i of array_val){
    if(i.num == 2){
    newarr.push(i);
    }
    
    }
    
    console.log(newarr);