js如何利用正则和findIndex 来匹配出array中所有符合条件的index?

发布于 2022-09-06 23:57:13 字数 295 浏览 22 评论 0

有以下 array

[
  {name: '小红', age: 15},
  {name: '小明', age: 14},
  {name: '小强', age: 13},
  {name: '老张', age: 22},
  {name: '王小兰', age: 16},
  {name: '张小', age: 18},
]

能否利用正则和findIndex类似的方法,来匹配出所有符合 name中带有 ‘小’的index?

比如这次返回的是 [0,1,2,4,5]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

筱果果 2022-09-13 23:57:13
let resIndexs = [];
let searchStr = '小';
let data = [
  {name: '小红', age: 15},
  {name: '小明', age: 14},
  {name: '小强', age: 13},
  {name: '老张', age: 22},
  {name: '王小兰', age: 16},
  {name: '张小', age: 18},
];

data.forEach((d, i) => {
  if (d.name.indexOf(searchStr) !== -1) {
    resIndexs.push(i);
  }
});

console.log(resIndexs); // [0, 1, 2, 4, 5]
一抹苦笑 2022-09-13 23:57:13

其实 用es6 的includes 也一样的
var res = [];
var arr = [
{name: '小红', age: 15},
{name: '小明', age: 14},
{name: '小强', age: 13},
{name: '老张', age: 22},
{name: '王小兰', age: 16},
{name: '张小', age: 18},
];

arr.forEach(item => {
if (item.name.includes()) {

res.push(item);

}
})
console.log(res)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文