У меня есть строковый массив, где мне нужно отображать из второго пункта вперед. Но внутри каждого элемента мне нужно дополнительно отображать из второго элемента. Сказать
У меня есть массив
function myFunction() {
var fruits = ["BBanana", "BOrange", "TLemon", "TApple", "YMango"];
var citrus = fruits.slice(1).join("<br/>"); //skip first item
document.getElementById("demo").innerHTML = citrus;
}
Ожидаемый результат
Orange
Lemon
Apple
Mango
Вместо
BOrange
TLemon
TApple
YMango
Как достичь улучшенной производительности?
После того, как вы отрезаете 1-й элемент, используйте карту Array # для создания списка элементов без 1-й буквы с использованием подстроки String #, а затем присоедините:
Карта, а затем присоединиться:
function myFunction() {
var fruits = ["BBanana", "BOrange", "TLemon", "TApple", "YMango"];
var citrus = fruits.slice(1)
.map(function(str) {
return str.substring(1);
})
.join("<br/>");
demo.innerHTML = citrus;
}
myFunction();
<div id="demo"></div>
Вы можете использовать функцию уменьшения, это будет меньше кода, чем в других случаях
function myFunction() {
const fruits = ["BBanana", "BOrange", "TLemon", "TApple", "YMango"];
const temp = fruits.slice(1).reduce( (ac, item) => ac + '${item.slice(1)}<br/>', '')
document.getElementById("demo").innerHTML = temp;
}
var fruits = ["BBanana", "BOrange", "TLemon", "TApple", "YMango"];
for(var i = 1; i < fruits.length; i++){
console.log(fruits[i].slice(1));
};