javascript - 如果有三个相同的字符串,如何获得中间的 indexOf?

标签 javascript

我想获取中间字符串的 indexOf 但如果我使用 indexOf 它只返回第一个,如果我使用 lastIndexOf它返回最后一个。

所以,我想把项目放在中间。

在 JavaScript 中使用 indexOf 是否可行?

var items = ['One', 'One', 'One'];
console.log(items.indexOf('One')); // returns 0 
console.log(items.lastIndexOf('One')); // returns 2

最佳答案

获取数组中所有one的出现,然后获取中间语法。

const res = ['One', 'Two', 'One', 'One'].reduce(function(acc, e, i) {
    if (e === 'One')
        acc.push(i);
    return acc;
}, []);
const mid = res[Math.floor(res.length/2)];
console.log(mid);

关于javascript - 如果有三个相同的字符串,如何获得中间的 indexOf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206151/

相关文章:

javascript - 为什么 Firebug 会遇到不存在的断点?

javascript - AJAX只保存输入的第一个字母

javascript - Angularjs 输入时暂停

javascript - 没有边框的 iframe 并在弹出窗口中滚动

javascript - 对象数组上的 Array.reduce() ——返回单个字母的字符串

javascript - 在 Django 项目中使用 typeahead.js

javascript - 未捕获的类型错误 : Cannot set property of undefined

javascript - 验证整数

javascript - 在 GET 请求中绑定(bind)复杂对象的数组 - jquery.param() 传统标志

javascript - 如果日期不为空且日期不为 '0000-00-00' 的条件