我正在观看有关P5.js的新教程视频。
我一直在跟踪,直到看到他调用静态函数P5.VECTOR.SUB(...)
。
我不明白他在这里做什么,有人可以解释吗
谢谢
答案 0 :(得分:0)
the P5.js reference最好回答此类问题。
该页面链接到p5.Vector的参考页面,然后链接到p5.Vector.sub()的参考页面。
该页面解释了发生了什么,重点是我的
从一个向量中减去x,y和z分量,从另一个向量中减去一个向量,或减去两个独立的向量。 减去两个向量的方法版本为静态方法,并返回p5.Vector ,其他方法直接作用于向量。有关更多上下文,请参见示例。
它还包含一个代码示例:
function sharedTags(candidates) {
var results = [];
var map = {};
// collect each tag's frequency in a map
for(let i=0;i<candidates.length;++i){
let each_candidate = candidates[i];
if(each_candidate['selected'] === true){
// collect all unique tags for this candidate in iteration
let unique_tags = {};
for(let j=0;j<each_candidate['tags'].length;++j){
let tag = each_candidate['tags'][j];
unique_tags[tag] = unique_tags[tag] === undefined ? 1 : unique_tags[tag];
}
// merge it's presence with the global "map" variable
let this_candidate_tags = Object.keys(unique_tags);
for(let k=0;k<this_candidate_tags.length;++k){
if(map[this_candidate_tags[k]] === undefined){
map[this_candidate_tags[k]] = 1;
}else{
map[this_candidate_tags[k]] += 1;
}
}
}
}
// now check for frequency of each tag. If it equals candidates length, that means it appeared in every candidate.
var tags = Object.keys(map);
for(let each_tag in tags){
if(map[tags[each_tag]] === candidates.length){
results.push(tags[each_tag]);
}
}
return results;
}
我还鼓励您放一个示例示例程序来测试正在发生的事情,而不是尝试在较大的程序中理解它。