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/