JSFiddle - React, Tailwind, and code Playground
HTML
<ul>
<li><a href="https://teratail.com/questions/47779">JavaScript - eval(47779)|teratail</a></li>
</ul>
JavaScript
'use strict';
const tweetList = [
'起きた',
'はいふりがすき',
'そういえばteratailでJSに関する質問ないか見てこよう',
'JavaScript難しい…。',
'vimとかemacsとかで争うのはやめろよ。最強は秀丸って結論出てるんだしさ。',
'Hello, JavaScript!',
'Hello, World!'
];
const wordList = ['JS', 'JavaScript', '\\'];
function createArrayFilterByWhileWhile (words) {
return function arrayFilterByWhileWhile (tweets) {
var results = [],
i = 0,
l = tweets.length,
_words = words,
m = _words.length,
j, tweet;
while (i < l) {
tweet = tweets[i++];
j = 0;
while (j < m) {
if (tweet.includes(_words[j++])) {
results.push(tweet);
break;
}
}
}
return results;
}
}
function createArrayFilterByWhileRegExp (words) {
return function arrayFilterByWhileRegExp (tweets) {
var results = [],
i = 0,
_words = words,
l = _words.length,
reg = [],
tweet;
while (i < l) {
reg.push(_words[i++].replace(/(?=[$()*+\-.?\[\]^{|}\\])/g, '\\'))
}
i = 0;
l = tweets.length;
reg = new RegExp(reg.join('|'));
while (i < l) {
tweet = tweets[i++];
if (reg.test(tweet)) {
results.push(tweet);
}
}
return results;
}
}
function createArrayFilterByFilter (words) {
var _RegExp = RegExp;
function filter (value) {
return this.test(value);
}
return function arrayFilterByFilter (tweets) {
var i = 0, _words = words, l = _words.length, reg = [];
while (i < l) {
reg.push(_words[i++].replace(/(?=[$()*+\-.?\[\]^{|}\\])/g, '\\'))
}
return tweets.filter(filter, new _RegExp(reg.join('|')));
}
}
var createArrayFilterByFunctionMap = (function (Function) {
function map (value) {
return 'tweet.includes("' + value.replace(/(?=["\\])/g, '\\') + '")';
}
return function createArrayFilterByFunctionMap (words) {
var expression = words.map(map).join('||');
return Function('tweets',
`var i = 0, l =...