Возможно, ваша проблема в том, что вы обращаетесь к объекту с помощью целочисленного ключа, а не имени ключа: destinationContent[i]
становится destinationContent[0]
, destinationContent[1]
и т. Д. Тем не менее, вы явно определили destinationContent
, чтобы иметь только клавиши name
, scope
и active
. У вас также есть двойное использование переменной итератора i
, что, безусловно, заставит ваш скрипт вести себя крайне запутанно.
Обратите внимание, что правильная ссылка API - это эта с базовым ресурсом API REST здесь .
Предполагая, что вы хотите проверить, существует ли конкретное исходное измерение в месте назначения, и если это так, обновить его (вместо вставки), вы захотите сделать что-то вроде:
// Create an associative map between the name of a custom dimension
// and its ID (rather than search an array repeatedly).
const existingDims = destinationItems.reduce(function (acc, item) {
var name = item.name;
acc[name] = item.id;
return acc;
}, {});
sourceItems.forEach(function (sourceItem) {
// Construct the resource for this source item.
var name = sourceItem.name;
var sourceContent = {
name: name,
scope: sourceItem['scope'],
active: sourceItem['active']
};
// Does this resource exist already?
var existingId = existingDims[name];
if (existingId)
// update
else
// insert
});
1020 * работы *