我建立使用JavaScript计算器应用程序存在。当用户点击一个运营商(+, - ,*,/)时,我想先检查是否有其他运营商已经进入。我将所有的按钮存储在一个数组中。如果一个操作符已经存在,那么第一个操作将会是用被按下的操作符替换操作符(如果没有第二个编号存在来执行操作)或者执行等于操作,然后将新操作符添加到结果。例如,如果用户输入“1 + 1”然后输入另一个“+”运算符,我希望它执行1 + 1操作,然后将下一个操作存储为“2 + [任何下一个输入]”。遍历对象的属性,以检查是否有在阵列
我有存储与每个运营商相关联的功能的对象。是否可以这样做:
var ops = {
"+": function(a,b) {return a + b},
"-": function(a,b) {return a - b},
// etc...
};
// And then in the code
if (log.indexOf(ops) >= 0) { // perform math, then add new op}
最后一行是检查日志是否已经包含其中一个操作符。像这样的简写方法是可能的,还是我需要迭代对象属性?
这里是第一评议什么,我看着看着,试图在object.keys(OPS)的方式推荐JSFiddle。
object.keys(OPS) – ndugger
您是否在寻找:'如果(在日志OPS){ '?您需要展示更多代码才能看到卡住的位置。 – trincot
ops.hasOwnProperty(运营商) – Zac