2017-02-03 101 views
-1
var currentAge = 26; 
var maxAge = 100; 
var amountPerDay = 30.50; 

var calculation = (((maxAge - currentAge) * 365) * amountPerDay); 
console.log(calculation); 
var stringCalc = calculation.toString().split('').splice(2, 0, "9"); 
console.log(stringCalc); 

console.log(stringCalc)显示一个空数组。这是否与toString方法有关?阵列拼接删除阵列中的所有元素

注:我试图将字符串“9”添加到数组的中间,而不是从数组中删除任何东西。

+0

@NewToJS Your name is accurate; '.split()'返回一个数组 – Feathercrown

+0

你知道JavaScript中的'+'运算符,不是吗?你的代码看起来像是写代码 - 这是不可能阅读的比赛;) – str

+1

你是对的,除了两个控制台语句外,两行脚本几乎无法阅读。感谢您回答我的问题@str –

回答

0

在你的理解中缺失的环节是拼接的返回值,这是删除的项目。

var currentAge = 26; 
var maxAge = 100; 
var amountPerDay = 30.50; 

var calculation = (((maxAge - currentAge) * 365) * amountPerDay); 
console.log(calculation); 
var stringCalc = calculation.toString().split(''); 
console.log(stringCalc); 
// ["8", "2", "3", "8", "0", "5"] 
console.log(stringCalc.splice(2, 0, "foo")); 
// [] because no items were deleted, return value = array of deleted items 
console.log(stringCalc) 
// ["8", "2", "foo", 3", "8", "0", "5"] 
0

var currentAge = 26; 
 
var maxAge = 100; 
 
var amountPerDay = 30.50; 
 

 
var calculation = (((maxAge - currentAge) * 365) * amountPerDay); 
 
console.log(calculation); 
 
var stringCalc = calculation.toString().split(''); 
 
console.log(stringCalc); 
 
stringCalc.splice(2, 0, "9"); 
 
console.log(stringCalc);

splice()返回取出(在这种情况下无)中的项目,而不是剪接发生之后的阵列。

0

拼接不返回数组只是增加了它在现有的阵列:

var currentAge = 26; 
var maxAge = 100; 
var amountPerDay = 30.50; 

var calculation = (((maxAge - currentAge) * 365) * amountPerDay); 
var numberArray = calculation.toString().split('') 

numberArray.splice(2, 0, "9"); 
console.log(numberArray);