#javascript #arrays
#javascript #массивы
Вопрос:
Я не уверен, чего мне не хватает. Требуется, чтобы новый массив возвращал первый и последний элемент переданного массива.
var firstAndLast = function(array){
var newArray = new Array();
newArray [0] = array[0]
newArray [1] = array[3]
return plate;
}
For Example:
var array = ['one', 3, 'cool', 4];
firstAndLast(array); // returns ['one', 4]
Ответ №1:
Вам нужно получить доступ к первому и последнему элементу и вернуть его в виде массива. Я не уверен, откуда plate
берется, но в целом ваша функция «правильная» в том смысле, что вы создаете новый массив и устанавливаете первый и второй элементы в первый и последний элементы переданного массива. Вам просто нужно вернуться newArray
.
Но что, если 4-й элемент не является последним в массиве? Тогда вам нужно будет сделать его более общим:
var array = ['one', 3, 'cool', 4];
var firstAndLast = function(arr) {
return [arr[0], arr[arr.length - 1]]; //No need for new Array(), and you can just assign items in positions inline
}
console.log(firstAndLast(array));
Приведенный выше код сокращает функцию до 3 строк, поскольку он возвращает литерал массива с первым элементом as arr[0]
, первым элементом переданного массива. Второй элемент arr[arr.length - 1]
, который является последним элементом. Рассмотрим это:
[1, 2, 3, 4, 5]
Длина в настоящее время равна 5, и доступ к последнему элементу осуществляется arr[4]
. Теперь просто вычтите единицу из длины, чтобы получить 4, и получите доступ к последнему элементу. arr[arr.length - 1]
в этом случае это даст 5
результат.