array.splice重新输入一个值两次

达达多多

我有这个函数,用一个叫做“之后”的字符串替换indexOf(before)处的一个数组元素。除了我得到两个“ after”值而不是一个,这几乎可以正常工作

这是我的代码:

function myReplace(str, before, after) {
  var strArr = []; 
  strArr = str.split(' ');
  for (var i = 0; i < strArr.length; i++) {
    strArr.splice(strArr.indexOf(before), 1, after);
  }
  return strArr;
}

myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");

这是它返回的内容:

[“ A”,“快速”,“棕色”,“狐狸”,“泄漏”,“上方”,“该”,“懒惰”,“泄漏”]

怎么了?

卡斯珀·威利(Caspar Wylie)

嗯,这里的问题真不幸!这是因为在找到元素4之后,indexOf返回-1(未找到其表达方式),并替换了数组中的最后一个(-1)。

function myReplace(str, before, after) {
  var strArr = []; 
  strArr = str.split(' ');
  for (var i = 0; i < strArr.length; i++) {
    var index = strArr.indexOf(before);
    if(index!=-1){
        strArr.splice(index, 1, after);
    }
  }
  return strArr;
}

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

推入数组时,输入值作为一个元素呈现两次

来自分类Dev

使用 array_splice() 在矩阵中一次删除两列

来自分类Dev

当需要两次反向传播时,如何避免重新计算一个函数?

来自分类Dev

我如何停止循环吐出最后一个输入两次

来自分类Dev

cin.ignore()输入两次以获得一个暂停

来自分类Dev

使用唯一过滤(VBA)时,第一个值两次

来自分类Dev

重新排列一个array变数组PHP

来自分类Dev

JavaScript Array.splice() 方法第一个参数(起始索引)

来自分类Dev

JS Splice Array of Null 删除最后一个索引而不考虑参数

来自分类Dev

两次操作后返回一个可观察值

来自分类Dev

SQL存储过程运行两次选择并返回一个值

来自分类Dev

公式-自动填充,但重复一个值两次

来自分类Dev

检查空值并使用另一个而不是两次查询项目 NHibernate

来自分类Dev

从Ruby Array中获取出现两次或两次以上的项目

来自分类Dev

从Ruby Array中获取出现两次或两次以上的项目

来自分类Dev

Ajax 表单提交两次或一次但缺少最后一个值没有提交按钮

来自分类Dev

如何两次使用mysqli_fetch_array()?

来自分类Dev

如何两次使用mysqli_fetch_array()?

来自分类Dev

一个对象在Python中创建两次

来自分类Dev

在一个查询中分组两次

来自分类Dev

必须单击两次以得到一个响应

来自分类Dev

两次导入一个模块会怎样?

来自分类Dev

在一个方法参数中两次const?

来自分类Dev

编写一个for循环,使索引增加两次

来自分类Dev

两次单击一个元素

来自分类Dev

qmake:如何两次链接一个库?

来自分类Dev

ocpsoft重写一个变量两次使用

来自分类Dev

两次访问一个对象

来自分类Dev

MySQL 两次加入一个表

Related 相关文章

热门标签

归档