Javascript 如何获取数组中与对象关联的所有值?

Javascript 如何获取数组中与对象关联的所有值?,javascript,arrays,object,Javascript,Arrays,Object,如何使用javascript中的循环获取与test0关联的所有元素名的值 样本输出 只需过滤这些值并映射所需的值 array.filter允许您过滤带有条件的数组项,因此使用i=>i.name===“test0”将返回一个新数组,其中仅获取名为“test0”的值。最后,使用map创建一个新数组,其值是所提供回调函数的结果。因此,使用mapi=>i.value将返回每个筛选对象的property.value 如果希望值是数值,请记住将它们转换为整数 变量数组=[ {name:test0,valu

如何使用javascript中的循环获取与test0关联的所有元素名的值

样本输出


只需过滤这些值并映射所需的值

array.filter允许您过滤带有条件的数组项,因此使用i=>i.name===“test0”将返回一个新数组,其中仅获取名为“test0”的值。最后,使用map创建一个新数组,其值是所提供回调函数的结果。因此,使用mapi=>i.value将返回每个筛选对象的property.value

如果希望值是数值,请记住将它们转换为整数

变量数组=[ {name:test0,value:0}, {name:test1,value:1}, {name:test2,value:2}, {name:test0,value:3}, {name:test0,value:4} ]; var res=array.filteri=>i.name=='test0'.mapi=>i.value;
console.logres 您可以使用数组过滤器

变量数组=[ {name:test0,value:0}, {name:test1,value:1}, {name:test2,value:2}, {name:test0,value:3}, {name:test0,value:4} ]; var test0=array.filteriem=>item.name==test0.mapitem=>item.value;
console.logtest0 您可以通过映射过滤对象并获得数值

var数组=[{name:test0,value:0},{name:test1,value:1},{name:test2,value:2},{name:test0,value:3},{name:test0,value:4}], 结果=数组 .filter{name}=>name=='test0' .map{value}=>+值; console.logresult 变量数组=[ {name:test0,value:0}, {name:test1,value:1}, {name:test2,value:2}, {name:test0,value:3}, {name:test0,value:4} ]; var-Rs=[]; 数组中的forvari{ i阵列[i][name]==test0 Rs.pushi;//Rs.pusharray[i][value]; } 控制台.logRs 变量数组=[ {name:test0,value:0}, {name:test1,value:1}, {name:test2,value:2}, {name:test0,value:3}, {name:test0,value:4} ]; 让output=array.reduceac,{name,value}=>{ ifname=='test0'{ 返回[…acc,值]; } 返回acc; }, [];
console.logoutputsample输出在JavaScription中不是有效的数据格式您是说[0,3,4]?+您的JSON无效,缺少逗号,可能需要[0,3,4]。您的数组缺少逗号,为了正确地帮助您,我想知道您目前的javascript知识是什么?例如,您知道如何访问对象的属性吗?您是否尝试过在if条件下使用for循环?请添加您尝试过的代码Dop cleary根本不懂js,所以说“仅使用过滤器和映射”太难了。请使用循环和if条件执行此操作好吗?@JackChen当然可以,我也会用这种情况添加一个示例。@JackChen我添加了另一个带有常规for循环的示例,解释代码的每一行。
var array = [
    { name:"test0", value:"0" },
    { name:"test1", value:"1" },
    { name:"test2", value:"2" },
    { name:"test0", value:"3" },
    { name:"test0", value:"4" }
];
{0,3,4}
const result = array.filter(a=> a.name === "test0");

console.log(result.map(w => w.value));
create a generic function in which you just need to pass the key value and array and it will filter out the arry on the basic of parameters  

  var array = [
        { name:"test0", value:"0" },
        { name:"test1", value:"1" },
        { name:"test2", value:"2" },
        { name:"test0", value:"3" },
        { name:"test0", value:"4" }
    ];

    function filterList(keyValue, list) {
        let filteredList = [];
        for(let i = 0; i < list.length; i++) {
            if(list[i]["name"] === keyValue) {
                filteredList.push(list[i]["value"]);
            }
        }
        return filteredList;
    }

    console.log(filterList("test0", array));