用javascript数组中的字符串替换数字

时间:2019-02-16 20:43:44

标签: javascript arrays

是否可以用字符串替换javascript数组中的数字值?

例如:

var a=[1,2,3,4,5]

我需要用苹果代替#3。

有可能吗?

4 个答案:

答案 0 :(得分:3)

使用.indexOf(3)查找3在数组中的位置,然后只需执行a[index] = "apple";即可替换该值。我在下面为您创建了一个片段。

var a = [1, 2, 3, 4, 5];
var index = a.indexOf(3);

console.log("Before: " + a);
a[index] = "apple";
console.log("After: " + a);

答案 1 :(得分:1)

是的,当然可以!我建议您阅读一些有关JavaScript数组的documentation,以了解它们的功能。

基本上,javascript数组是高级列表对象,可以由许多不同的数据类型组成。如果您在这里问到它之前真的尝试过您想知道的是什么,那么您会发现它很简单。

var a = [1,2,3,4,5];
a[2] = "apple";

将数组a的第三个元素替换为"apple"

答案 2 :(得分:1)

Aniket G的解决方案有效,但仅替换第一次出现的值。

// arr is the array we're acting on
// n is the value we want to replace
// str is the string that we want n replaced with
function replaceNumWithStringInArray(arr, n, str) {
  for (let i = 0; i < arr.length; ++i) {
    if (arr[i] === n) {
      // we found a match, replace the former value (n) with a string (str)
      arr[i] = str;
    }
  }
  // we don't have to return anything here, because it modifies the array in place
}

var a = [1,2,3,4,5,3]; // added another 3 to illustrate that it replaces all occurences of n
console.log('before', a);
replaceNumWithStringInArray(a, 3, 'apple');
console.log('after', a);

答案 3 :(得分:0)

您可以遍历数组并检查给定的值。如果该值出现多次,则特别有用:

function stringifyValue(array, valueToStringify) {
  for(let i = 0; i < array.length; i++) {
    if(array[i] === valueToStringify){
      array[i] = '' + array[i];
    }
  }
}

或者如果您想更新给定索引处的值:

const indexWithValue = 3;
array[indexWithValue] = '' + array[indexWithValue];