Как решить & ldquo; NameError: имя 'null' не определено & rdquo; ошибка при попытке импортировать любой модуль в Python 2.7

В вашем конкретном случае, поскольку Array.prototype.fill() заполняется одним значением, а в объектах JS (например, массивы) являются ссылочными типами, все индексы содержат ссылку на первую. В JS создание массива ND может быть не таким простым, как кажется, поскольку массивы будут скопированы по ссылке. Для функции общего назначения arrayND вам понадобится функция утилиты клонирования массива. Давайте посмотрим:

Array.prototype.clone = function(){
  return this.map(e => Array.isArray(e) ? e.clone() : e);
};
function arrayND(...n){
  return n.reduceRight((p,c) => c = (new Array(c)).fill().map(e => Array.isArray(p) ? p.clone() : p ));
}
var array3D = arrayND(5,5,5,"five");
array3D[0][1][2] = 5;
console.log(array3D);

Функция arrayND принимает неопределенное количество аргументов. Последний обозначает значение по умолчанию для заполнения нашего массива ND, а предыдущие аргументы - это размеры каждого измерения, которое они представляют. (первый аргумент - размер 1, второй аргумент - размер 2 и т. д.)

0
задан Mayank Seksaria 30 March 2019 в 02:41
поделиться

1 ответ

Это код из записной книжки Jupyter, который хранится в формате JSON и не может быть запущен непосредственно Python. Чтобы исправить это, удалите все, что не соответствует атрибуту 'source'.

0
ответ дан gmds 30 March 2019 в 02:41
поделиться
Другие вопросы по тегам:

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