我有这个数组
:
var arr = ['char', 'char', '@char', 'char', '@char'];
是否可以通过@
获取所有char
的位置?
我写了这段代码:(这里是源http://jsfiddle.net/bq84zy1f/)
$('textarea').keyup(
function() {
var valOfTextarea = $(this).val();
var splitedVal = valOfTextarea.split(/\s/);
var indexOfAt = splitedVal.indexOf('@');
console.log(splitedVal[indexOfAt]);
}
);
我仅检索 @
的索引,当我在 @
(@blabla) 后面写入内容时,索引将返回 -1
。但我想用 @char 获取值的位置,并且总是想获取索引,即使录制的文本类似于 @blablaba。
提前致谢。
最佳答案
您可以使用map
method过滤掉包含 @
的项目并返回索引:
var indexOfAt = $.map(splitedVal, function(o, i){
return o.indexOf('@') != -1 ? i : null;
});
结果是一个数组,其中每个项目的索引都包含 @
。对于示例数据,结果将是 [ 2, 4 ]
。
关于javascript - 在javascript中将字符的位置放入数组的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28340084/