2016-02-06 6 views
0

Я бег на вопрос, у меня есть подобный массив строк в JS:фильтр строк в массиве на основе содержимого

var myArray = ["bedroomone", "bedroomonetwo", "bathroom"]; 

И я хотел бы получить все элементы массива, который содержит ключевое слово 'Спальня'. Как я могу достичь такого результата?

Я пробовал по-разному, не получив желаемого результата. Как мне продолжить?

+0

Где код, который вы пробовали? – Pointy

+0

var resultsfilter = myArray.filter (function (element) {return element! == "bedroom"}); console.log (resultsfilter); – prince

+0

'! ==' делает точное сравнение. Вам нужно что-то вроде '/bedroom/.test (element)' – Pointy

ответ

1

String.prototype.indexOf:

var PATTERN = 'bedroom', 
    filtered = myArray.filter(function (str) { return str.indexOf(PATTERN) === -1; }); 

Regexp:

var PATTERN = /bedroom/, 
    filtered = myArray.filter(function (str) { return PATTERN.test(str); }); 

String.prototype.includes (только в модемных браузерах):

var PATTERN = 'bedroom', 
    filtered = myArray.filter(function (str) { return str.includes(PATTERN); }); 
+0

Спасибо! Это верно! – prince

+0

@prince .... можете ли вы принять его, чтобы закрыть вопрос, пожалуйста? – DelightedD0D

Смежные вопросы