2017-02-03 8 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あなたの名前は正確です。 '.split()'は配列を返します – Feathercrown

+0

あなたはJavaScriptで '+'演算子を認識していますか?あなたのコードは、書くことができないように読むことができるコンテストのようです; – str

+1

2つのコンソールステートメントのために保存しておけば、2行のスクリプトは読めないほど近くにあります。私の質問に答えてくれてありがとう@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); 
関連する問題