我有任务为复杂和嵌套的JSON编写过滤器.为此,我需要评估用户在输入字段中输入的布尔表达式.为了问题,我们可以说有以下输入:
(Key1 = "foo" || key2 = 2 && key3 = "bar") && key4 = 7
Run Code Online (Sandbox Code Playgroud)
我设法编写一个函数来评估每个keyValue-Pair为"True"或"False"并将其替换为字符串:例如:
(True || False && True) && True
Run Code Online (Sandbox Code Playgroud)
现在我想将此String解析为布尔表达式.是否有任何"简单"的方式(内置函数,插件)的Javascript可以解析这个字符串?
是否可以将函数传递给Zingchart Json中的工具提示键?
到目前为止我尝试了以下内容:
$scope.applyTooltip = function (timestamp) {
console.log(timestamp);
var tooltip = "<div>";
var data = {
timestamp1: {
param1: "bla",
param2: "foo,
},
...
}
for(var param in data){
console.log(param);
tooltip += param+": "+data[param]+"<br>";
}
tooltop += "</div>;
return tooltip;
}
$scope.graphoptions = {
//...
//just displaying the relevant options
plot: {
"html-mode": true,
tooltip: $scope.applyTooltip("%kt"),
}
}
Run Code Online (Sandbox Code Playgroud)
}
但是函数得到字符串"%kt",而不是悬停的Plot所需的X值.那么如何在函数中传递X值呢?
我使用 Zingchart 绘制一些日志数据,因此我需要显示图表中的每个点。我激活了 json 中的点属性(参见
$scope.graphoptions = {
theme:"dark",
"gui":{
behaviors:[]
},
globals: {
shadow: false,
fontFamily: "Helvetica"
},
type: "line",
plot: {
aspect: "segmented",
marker: {}
},
"legend":{
margin :"5% 88%",
layout: "float",
fontSize : "10px",
backgroundColor: "#888888",
borderColor : "#000000",
shadowColor : "transparent",
toggleAction: "hide",
item: {
markerStyle : "circle",
fontColor: "#ffffff"
},
},
scaleX: {
zooming: true,
item: {
fontColor: "white"
},
guide: {
visible: false
},
"transform": {
"type": "date",
"all": "%G:%i",
}
},
"scaleY": { …Run Code Online (Sandbox Code Playgroud)我是 git 新手,偶然发现了一个奇怪的问题
所以我对我的本地存储库做了一些提交,并用 git log 查看它们,它运行良好。一段时间后,我检查了一个较旧的提交,后来我想跳回我最近的提交以继续我的工作。所以我又做了一个 git log。但是现在没有显示最新的 3-4 次提交。输入 'git checkout master' 将我带到第二个日志命令的最新提交,而不是我描述的第一个提交。这是一个问题还是我必须键入另一个命令才能返回到最新提交?
我希望我的问题是可以理解的。
我按正确顺序输入的所有命令:
Git add public/
Git commit -m “Fo”
(这里没有错误)
Git log --oneline.
输出:8 次提交。
Git 签出“旧提交的 ID”
Git 日志 --oneline。
输出:4 次提交
因此,我正在测试此代码的小安全性:
<script>
var newData = {}, graphs = []
for(var j=0; j<2; j++){
newData["name"] = 'value '+ j
console.log(newData["name"]);
graphs.push(newData);
console.log(graphs);
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在网络控制台中获得了以下输出:
value 0
Array [ Object ]
value 1
Array [ Object, Object ]
Run Code Online (Sandbox Code Playgroud)
数组中的所有对象具有完全相同的值:
name:"value 1"
Run Code Online (Sandbox Code Playgroud)
我真的为此感到挣扎,因为我不更改任何值,并且名称仍在同一循环中更改。
预先感谢您的回答!
javascript ×4
charts ×2
zingchart ×2
angularjs ×1
arrays ×1
git ×1
git-commit ×1
git-log ×1
string ×1
tooltip ×1