现在我正在研究这个功能,以便总结一下。
该数组的示例如下:var array = ['5','2','8'];
我想乱丢地说array[0] +1
或类似的东西。
我看一下reduce,但是它总结了所有的值,这不是它应该做的。应该出现的是sum
为1,并且您想要数组中的第一个值。在这种情况下,第一个是5:5 + 1 = 6
。然后6应该从它出来并替换阵列中5的位置。
这是我现在所得到的一个例子。
var array = ['6','2','5'];
for(var i = 0; i < array.length; i++){
array = array[i];
var sum = 1;
array = sum + array[0];
console.log(array);
}
答案 0 :(得分:2)
我想乱七八糟地说数组[0] +1或类似的东西。
您希望将所有值增加 1 。
试试这个appoach
var array = ['6','2','5'];
array = array.map( a => String( Number(a) + 1 ) );
console.log(array);
如果您想保留Number
而不是String
,请使用String
构造函数删除包装
var array = ['6','2','5'];
array = array.map( a => Number(a) + 1 );
console.log(array);
修改 - 基于评论和问题更新
不,我想在数组中只添加一个值,而不是全部
当sum为1时,应该出现什么,并且你想要第一个值 数组。
不需要迭代
var array = ['6','2','5'];
var sum = 1;
array[ sum - 1 ] = String( Number( array[ sum - 1 ] ) + 1 );
console.log(array);
答案 1 :(得分:1)
您可以使用unary plus operator将第一个元素array[0]
转换为数字而不是添加1,最后添加''
以使其再次成为字符串:
var array = ['6','2','5'];
array[0] = +array[0] + 1 + '';
console.log(array);
&#13;
答案 2 :(得分:0)
对于单个值,您可以取值(使用unary plus +
来生成数字)并递增它(再次生成一个字符串),然后将其分配给相同的索引。
var array = ['6', '2', '5'];
array[0] = (+array[0] + 1).toString();
console.log(array);
&#13;
答案 3 :(得分:0)
Array.prototype.addScalar=function(value){
var cloneArray=[];
this.forEach(function(entry){
//it is weird that your array is ['1', '2'] instead of [1,2]
//but this "if" handles it
if ( typeof(entry)==='string') {
cloneArray.push(parseInt(entry)+value);
} else {
cloneArray.push(entry+value);
}
});
return cloneArray;
}
['1',2,3].addScalar(1) //[2, 3, 4]