我有一个包含名字的数组。其中一些以点(。)开头,其中一些在中间或其他地方有点。我需要删除仅以dot开头的所有名称。我寻求帮助以获得更好的JavaScript方式。
var myarr = 'ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker';
var refinedArr = ??
答案 0 :(得分:3)
您可以使用过滤功能,您可以使用项目[0]访问每个单词的第一个字母。你需要先拆分字符串。
var myarr = 'ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker'.split(", ");
var refinedArr = myarr.filter(function(item) {
return item[0] != "."
});
console.log(refinedArr)

答案 1 :(得分:0)
使用filter和startsWith:
let myarr = ['ad', 'ghost', 'hg', '.hi', 'jk'];
let res = myarr.filter(e => ! e.startsWith('.'));
console.log(res);
答案 2 :(得分:0)
您可以使用RegEx \B\.\w+,? ?
并替换为空字符串。
\B
匹配非字词
\.
匹配点
\w+
匹配一个或多个单词char
,?
匹配0
或1
,
[space]?
匹配0
或1
[space]
<强>演示:强>
const regex = /\B\.\w+,? ?/g;
const str = `ad, ghost, hg, .hi, jk, find.jpg, dam.ark, haji, jive.pdf, .find, home, .war, .milk, raj, .ker`;
const subst = ``;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);