Javascript 如何在动态生成的对象字符串值上添加筛选器

Javascript 如何在动态生成的对象字符串值上添加筛选器,javascript,node.js,Javascript,Node.js,我不熟悉编码,我有一个动态生成的对象数据,如下所示: data: { 1-leadTimeNormal: 10 3-leadTimeNormal: 22 2-leadTimeNormal: 10 2-leadTimeOptimal: 2 3-leadTimeOptimal: 22 1-leadTimeOptimal: 7 } 其中,将动态生成左侧的整数值(1、3、2等)。 现在,我想设置一个条件来检查1-leadTimeNormal是否小于1-l

我不熟悉编码,我有一个动态生成的对象数据,如下所示:

data: {
    1-leadTimeNormal: 10
    3-leadTimeNormal: 22
    2-leadTimeNormal: 10
    2-leadTimeOptimal: 2
    3-leadTimeOptimal: 22
    1-leadTimeOptimal: 7
}
其中,将动态生成左侧的整数值(1、3、2等)。 现在,我想设置一个条件来检查1-leadTimeNormal是否小于1-leadTimeOptimal(使用if-Else)和2-leadTimeNormal是否小于2-leadTimeOptimal,依此类推,并使用javascript在控制台日志中返回一些字符串。您可以使用字符串作为键来访问
数据

const n = 1 // may be a number or string
if (data[`${n}-leadTimeNormal`] > data[`${n}-leadTimeOptimal`]) {
    // ....
}

可以循环遍历从1到键数/2的每个值

数据={
“1-leadTimeNormal”:10,
“3-leadTimeNormal”:22,
“2-leadTimeNormal”:10,
“2-leadTimeOptimal”:2,
“3-leadTimeOptimal”:22,
“1-leadTimeOptimal”:7
}
设arr=Object.keys(数据)
对于(设i=1;i
let数据={
“1-leadTimeNormal”:10,
“3-leadTimeNormal”:22,
“4-leadTimeNormal”:22,
“4-leadTimeOptimal”:42,
“3-leadTimeOptimal”:22,
“1-leadTimeOptimal”:7,
“otherRandomKey”:“你好,世界!”
}
//迭代键
for(让我们输入数据){
//确保密钥格式为“x-leadTimeNormal”
if(键匹配(/\d+-.+Normal/){
//得到数字部分
设number=key.substring(0,key.indexOf(“-”))
//测试自卑
如果(数据[数字+“-leadTimeNormal”]<数据[数字+“-leadTimeOptimal”]){
console.log(“在此处记录编号”+编号)
}
}
}
const数据={
“1-leadTimeNormal”:10,
“3-leadTimeNormal”:22,
“2-leadTimeNormal”:10,
“2-leadTimeOptimal”:2,
“3-leadTimeOptimal”:22,
“1-leadTimeOptimal”:7
}
const arr=对象密钥(数据);
常量leadTimeNormals=arr.filter(i=>i.includes(“leadTimeNormal”);
leadTimeNormals.forEach(项目=>{
常量[编号]=项目拆分(“-”);
if(arr[item]})
编码新手还是javascript新手?如果是javascript,我们可以帮助其他人……我对无效的json或js对象都是新手。我不知道我会一直在该字符串或其他内容中得到“1”。如果对象包含非连续键,这就是动态附加?
/\d+-.+Normal/