Вам просто нужно изменить ключевое слово in
на ключевое слово of
. Не является for..in
, чем for..of
.
arr.values()
возвращает итератор, который должен быть повторен с ключевым словом of
.
Кроме того, если product = 0
, то все ваши умножения вернут 0.
Кстати, этот код подвержен ошибкам, потому что вы не проверяете текущий индекс, но вы проверяете, отличается ли умножаемое вами значение от текущего значения. Это приведет к проблеме, если в массиве будет продублировано одинаковое число.
И теперь, говоря о передовой практике, немного странно, что сначала вы перебираете массив с циклом for(var i...
, а во второй раз - с for...in/of
.
Я исправил код для вас:
function getProducts(arr) {
let products = [];
for(let i = 0; i < arr.length; i++) {
let product = 1;
for(let ii = 0; ii < arr.length; ii++) {
if(i != ii) {
product *= arr[ii];
}
}
products.push(product);
}
return products;
}
Многие (большинство?) Мобильных компаний имеют шлюзы электронной почты, позволяющие отправлять SMS. Я считаю, что для AT & T это phonenumber@text.att.net , но у каждого провайдера будет свой адрес.
Эта статья из Википедии резюмирует это довольно хорошо. Некоторые сотовые компании имеют простые форматы. Например, Verizon использует number@vtext.com.
Это зависит от того, в какой стране вы находитесь. В Великобритании платить за отправку - получение бесплатно.
Взгляните на messagepub . Они предоставляют простой API, чтобы вы могли отправлять SMS-сообщения из вашего приложения.
Если вам нужно надежное решение, то да, вам придется за него заплатить, есть некоторые ограниченные бесплатные версии.
Мы использовали Clickatell с более ранним проектом http: // www.clickatell.com/developers.php