Как сгенерировать токен долгосрочного доступа приложения Facebook

Глубокая копия по производительности: ранжировано от лучшего к худшему

  • Повторное назначение «=» (массивы строк, только массивы чисел)
  • Slice (строковые массивы, массивы чисел - только)
  • Конкатенация (только строковые массивы, только числовые массивы)
  • Пользовательская функция: для цикла или рекурсивной копии
  • jQuery's $ .extend
  • JSON.parse (только массивы строк, массивы чисел, только массивы объектов)
  • Underscore.js _.clone (массивы строк, только массивы чисел)
  • Lo-Dash's _.cloneDeep

Глубоко скопируйте массив строк или чисел (один уровень - без указателей):

Когда массив содержит числа и строки - такие функции, как .slice (), .concat (), .splice (), оператор присваивания «=» и функция клона Underscore.js; будет делать глубокую копию элементов массива.

Если переназначение имеет самую высокую производительность:

var arr1 = ['a', 'b', 'c'];
var arr2 = arr1;
arr1 = ['a', 'b', 'c'];

И .slice () имеет лучшую производительность, чем .concat (), http://jsperf.com/duplicate-array-slice-vs-concat/3

var arr1 = ['a', 'b', 'c'];  // Becomes arr1 = ['a', 'b', 'c']
var arr2a = arr1.slice(0);   // Becomes arr2a = ['a', 'b', 'c'] - deep copy
var arr2b = arr1.concat();   // Becomes arr2b = ['a', 'b', 'c'] - deep copy

Глубоко копировать массив объектов (два или более уровней - указатели ссылок):

var arr1 = [{object:'a'}, {object:'b'}];

Напишите пользовательскую функцию (имеет более высокую производительность, чем $ .extend () или JSON.parse):

function copy(o) {
   var out, v, key;
   out = Array.isArray(o) ? [] : {};
   for (key in o) {
       v = o[key];
       out[key] = (typeof v === "object" && v !== null) ? copy(v) : v;
   }
   return out;
}

copy(arr1);

Используйте сторонние служебные функции:

$.extend(true, [], arr1); // Jquery Extend
JSON.parse(arr1);
_.cloneDeep(arr1); // Lo-dash

Там, где $ .extend jQuery имеет лучшую производительность:

0
задан Nouman Nazir 24 March 2019 в 19:45
поделиться

1 ответ

Вы не можете автоматически регенерировать (пользовательский) токен без участия пользователя. 60 дней - это максимальный срок жизни токена пользователя. Если бы можно было автоматически сгенерировать токен пользователя, даже не имело бы смысла устанавливать ограниченный срок службы.

0
ответ дан luschn 24 March 2019 в 19:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: