Проверка на наличия слова в переменной js

221
21 апреля 2018, 18:36

Есть массив

ar quality = ["Старый ", "Новый ", "Долгий "];

Есть переменная в которой лежит имя

var val = document.getElementById("name").innerHTML;

Как проверить если в этой переменной в начале одно из слов из массива и если есть удалить его?

Например

Старый плуг

Должна получиться

плуг
Answer 1

В этом вам поможет метод str.startsWith(). Псевдокод:

var quality = ["Старый ", "Новый ", "Долгий "];
var val = document.getElementById("name").innerHTML;
for each (word in quality) {
    if val.startsWith(word){
        //удаляем слово
        break;
        }
    }
Answer 2

const quality = ["Старый ", "Новый ", "Долгий "]; 
 
let val = document.getElementById("name").innerText; 
 
quality.some(q => { 
  if (val.startsWith(q)) { 
    document.getElementById("name").innerText = val.replace(q, ''); 
    return true; 
  } 
  return false; 
})
<div id="name">Новый плуг</div>

Answer 3

var quality = ["Старый ", "Новый ", "Долгий "],  
    val = 'Старый плуг';   // document.getElementById("name").innerHTML; 
     
let word = val.substr(0, val.indexOf(' ') + 1); 
if (quality.indexOf(word) !== -1) 
  val = val.slice(word.length);  
console.log(val); 

Слова в массиве можно хранить без пробела в конце (тогда + 1 у второго параметра substr надо будет перенести к параметру slice).

READ ALSO
Достать номер телефона Авито

Достать номер телефона Авито

Весь вопрос собственно в том, как получить номер телефона) я скачиваю html страничку и мне нужно как то сымитировать нажатие на кнопку "показать...

193
При выборе дочернего элемента не все родители выбираются

При выборе дочернего элемента не все родители выбираются

У меня проблема: когда я выбираю дочерний элемент, только ближайший родитель выбирается тоже, а мне нужно, чтобы выбирались все родители

265