tee*_*tee -1 javascript arrays string ecmascript-6
有什么方法或快速方法可以查看字符串中数组中的哪些元素?
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring';
Run Code Online (Sandbox Code Playgroud)
在这个例子中,bar
从阵列中存在myString
,所以我需要bar
给予myArray
和myString
。
Jac*_*ord 11
使用find
有includes
:
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring';
const res = myArray.find(e => myString.includes(e));
console.log(res);
Run Code Online (Sandbox Code Playgroud)
如果你想找到包含在字符串中的所有项目,换出find
了filter
:
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring-baz';
const res = myArray.filter(e => myString.includes(e));
console.log(res);
Run Code Online (Sandbox Code Playgroud)
如果需要索引,请使用findIndex
:
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring';
const res = myArray.findIndex(e => myString.includes(e));
console.log(res);
Run Code Online (Sandbox Code Playgroud)
多个索引有点棘手-您必须使用该Array.prototype.keys
方法来保留原始索引,因为会filter
返回具有新索引的新数组:
const myArray = ['foo', 'bar', 'baz'];
const myString = 'somelongbarstring-baz';
const res = [...myArray.keys()].filter((e, i, a) => myString.includes(myArray[e]));
console.log(res);
Run Code Online (Sandbox Code Playgroud)
(你也可以换出e
了i
上述功能,但它更容易理解通过按键来做到这一点,因为我们是迭代。)
归档时间: |
|
查看次数: |
55 次 |
最近记录: |