我想比较两个阵列......理想情况下,有效率.没有什么花哨的,只要true它们是相同的,false如果不相同的话.毫不奇怪,比较运算符似乎不起作用.
var a1 = [1,2,3];
var a2 = [1,2,3];
console.log(a1==a2); // Returns false
console.log(JSON.stringify(a1)==JSON.stringify(a2)); // Returns true
Run Code Online (Sandbox Code Playgroud)
每个数组的JSON编码都有,但有没有更快或更"简单"的方法来简单地比较数组而不必迭代每个值?
我正在使用arbor.js来创建图表.
如何onclick为节点创建事件,或在单击时在某处创建节点链接?
Arborjs.org主页有节点,点击后链接到外部页面,如何复制,或点击节点调用javascript函数?
我当前的节点和边缘列表采用以下格式:
var data = {
nodes:{
threadstarter:{'color':'red','shape':'dot','label':'Animals'},
reply1:{'color':'green','shape':'dot','label':'dog'},
reply2:{'color':'blue','shape':'dot','label':'cat'}
},
edges:{
threadstarter:{ reply1:{}, reply2:{} }
}
};
sys.graft(data);
Run Code Online (Sandbox Code Playgroud)
一点上下文:我正在使用arbor.js在我的论坛上创建一个线程启动器和回复的图表.我已经让它工作,以便id在各自的线程启动器周围显示"在轨道上".
乔木网站上的参考实际上并不是很有帮助.任何帮助深表感谢.
setTimeout(function() {
$.ajax({
url : "handlers/H_AnnotationHandler.php",
data : "case_id=<?=$case_id?>&plink=<?=$plink?>&mode=get",
type : "post",
dataType : "json",
success : function (response) {
if (!response.error) {
annotation_length = response.annots.length;
for (var i = 0; i < response.annots.length; i++) {
var elt = document.createElement("div");
elt.id = "runtime-overlay" + i;
elt.className = "highlight";
viewer.addOverlay({
element: elt,
location : viewer.viewport.imageToViewportRectangle(parseInt(response.annots[i].rect_x), parseInt(response.annots[i].rect_y), parseInt(response.annots[i].rect_w), parseInt(response.annots[i].rect_h))
});
$("#runtime-overlay"+i).attr("onclick", "$.clickOverlay('"+i+"')");
}
}
}
});
}, 3000);
$.clickOverlay = function(whichOverlay) {
var flag = 0;
$("#runtime-overlay"+whichOverlay).addEventListener("mousedown", function(){
flag = 0;
}, …Run Code Online (Sandbox Code Playgroud)