【发布时间】:2018-03-31 19:44:57
【问题描述】:
有一个包含键值对的数组,其中的键将包含一个可操作的 id。问题是我打算实现一个检查键值的概念,即如果键存在于数组中,则检查值;否则它将为新的唯一 ID 创建一个新的键值对。我寻找了 Object.keys() 函数,我发现它只会返回键数组。我倾向于在 for 循环中一一检查键。
对不起,如果我没有很好地解释我的问题
代码:
var marks = new Array();
function totalScore(critId,score){
var compare = Object.keys(marks);
var result = 0;
for(var i = 0; i < marks.length; i++){ //Looping in marks array
for(var j = 0; j < compare.length; j++){ //Looping in compare array
if(compare[j] == marks[i]){ //Comparing the key of the arrays
marks[i] = score; //If matched update the value of the current key
result ++;
}
}
if(result == 0){ //If there are no result of the comparison
marks.critId = score; //Add new key value pair to the array
}
}
}
【问题讨论】:
-
你的代码有什么问题? (输入、当前输出、预期输出)
-
介意多解释一下预期结果是什么以及问题出在哪里?我很难弄清楚你的解释:P
-
你对函数的输入是什么?
-
你知道
for ... in吗? -
@BenWest 其实我不知道,但谢谢!
标签: javascript arrays object key-value