Аналогично решению Яна Грейнджера (но в машинописном тексте):
function findDiffs(arrayOne: string[], arrayTwo: string[]) {
let onlyInArrayOne = []
let onlyInArrayTwo = []
let share = []
let [arrayOneCopy, arrayTwoCopy] = [[...arrayOne], [...arrayTwo]]
arrayOneCopy.sort(); arrayTwoCopy.sort()
while (arrayOneCopy.length !== 0 && arrayTwoCopy.length !== 0) {
if (arrayOneCopy[0] == arrayTwoCopy[0]) {
share.push(arrayOneCopy[0])
arrayOneCopy.splice(0, 1)
arrayTwoCopy.splice(0, 1)
}
if (arrayOneCopy[0] < arrayTwoCopy[0]) {
onlyInArrayOne.push(arrayOneCopy[0])
arrayOneCopy.splice(0, 1)
}
if (arrayOneCopy[0] > arrayTwoCopy[0]) {
onlyInArrayTwo.push(arrayTwoCopy[0])
arrayTwoCopy.splice(0, 1)
}
}
onlyInArrayTwo = onlyInArrayTwo.concat(arrayTwoCopy)
onlyInArrayOne = onlyInArrayOne.concat(arrayOneCopy)
return {
onlyInArrayOne,
onlyInArrayTwo,
share,
diff: onlyInArrayOne.concat(onlyInArrayTwo)
}
}
// arrayOne: [ 'a', 'b', 'c', 'm', 'y' ]
// arrayTwo: [ 'c', 'b', 'f', 'h' ]
//
// Results:
// {
// onlyInArrayOne: [ 'a', 'm', 'y' ],
// onlyInArrayTwo: [ 'f', 'h' ],
// share: [ 'b', 'c' ],
// diff: [ 'a', 'm', 'y', 'f', 'h' ]
// }
Проблема заключалась в значениях, которые я вставлял в последний аргумент, параметр «значение».
pageTracker._trackEvent(category, action, label, value)
Я передавал нецелочисленные строки в параметр «значение»:
pageTracker._trackEvent("UserAction", "ShowHelp", "Page", "http://mysite/UrlGoesHere");
но в документации указано, что это должно быть целое число.
pageTracker._trackEvent("UserAction", "ShowHelp", "http://mysite/UrlGoesHere", 1);
Я задал вопрос на справочных форумах Google здесь.
А вот ссылка на документы по отслеживанию событий
Спасибо за помощь Török
это так. не записывать эти хиты или отображение их в отчетах.
События не влияют на просмотры страниц и не отображаются в обычных отчетах. События имеют отдельный интерфейс в Content / Events . Если вы хотите отслеживать то, что вы указали как события, например, обычные обращения, лучше вместо этого использовать метод trackPageview
.