Why does App Script add a decimal to numbers in an array?












0















A simple function which returns an array:



function getArray(){
return [
123456780,
123456781,
];
}


When checked in Google App Script using indexOf() fails



if(getArray().indexOf(123456780) > -1){
console.log("Found in Array");
}


I output the array to the console and got this:
[123456780.0,123456781.0]



indexOf() should works with decimals (see fiddle here).



I worked around this by making the array values a string using .map(String) and the check value using .toString()



Why does Apps Script behave this way? Am I solving the right problem?










share|improve this question


















  • 1





    I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

    – Tanaike
    Nov 16 '18 at 3:21






  • 2





    There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

    – TheWizEd
    Nov 16 '18 at 14:00











  • @Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

    – OsulliP
    Nov 22 '18 at 6:18













  • @OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

    – Tanaike
    Nov 22 '18 at 6:35
















0















A simple function which returns an array:



function getArray(){
return [
123456780,
123456781,
];
}


When checked in Google App Script using indexOf() fails



if(getArray().indexOf(123456780) > -1){
console.log("Found in Array");
}


I output the array to the console and got this:
[123456780.0,123456781.0]



indexOf() should works with decimals (see fiddle here).



I worked around this by making the array values a string using .map(String) and the check value using .toString()



Why does Apps Script behave this way? Am I solving the right problem?










share|improve this question


















  • 1





    I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

    – Tanaike
    Nov 16 '18 at 3:21






  • 2





    There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

    – TheWizEd
    Nov 16 '18 at 14:00











  • @Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

    – OsulliP
    Nov 22 '18 at 6:18













  • @OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

    – Tanaike
    Nov 22 '18 at 6:35














0












0








0








A simple function which returns an array:



function getArray(){
return [
123456780,
123456781,
];
}


When checked in Google App Script using indexOf() fails



if(getArray().indexOf(123456780) > -1){
console.log("Found in Array");
}


I output the array to the console and got this:
[123456780.0,123456781.0]



indexOf() should works with decimals (see fiddle here).



I worked around this by making the array values a string using .map(String) and the check value using .toString()



Why does Apps Script behave this way? Am I solving the right problem?










share|improve this question














A simple function which returns an array:



function getArray(){
return [
123456780,
123456781,
];
}


When checked in Google App Script using indexOf() fails



if(getArray().indexOf(123456780) > -1){
console.log("Found in Array");
}


I output the array to the console and got this:
[123456780.0,123456781.0]



indexOf() should works with decimals (see fiddle here).



I worked around this by making the array values a string using .map(String) and the check value using .toString()



Why does Apps Script behave this way? Am I solving the right problem?







javascript google-apps-script






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 16 '18 at 2:51









OsulliPOsulliP

253




253








  • 1





    I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

    – Tanaike
    Nov 16 '18 at 3:21






  • 2





    There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

    – TheWizEd
    Nov 16 '18 at 14:00











  • @Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

    – OsulliP
    Nov 22 '18 at 6:18













  • @OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

    – Tanaike
    Nov 22 '18 at 6:35














  • 1





    I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

    – Tanaike
    Nov 16 '18 at 3:21






  • 2





    There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

    – TheWizEd
    Nov 16 '18 at 14:00











  • @Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

    – OsulliP
    Nov 22 '18 at 6:18













  • @OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

    – Tanaike
    Nov 22 '18 at 6:35








1




1





I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

– Tanaike
Nov 16 '18 at 3:21





I think that when your script is run at the script editor of Google Apps Script, getArray().indexOf(123456780) > -1 becomes true. Although I'm not sure whether this is the reason, you use console.log("Found in Array"). Did you check the stackdriver? In Google Apps Script, when console.log() is used, the result can be seen at the stackdriver. If you want to confirm the result at the log of script editor, how about modifying console.log("Found in Array") to Logger.log("Found in Array")? If I misunderstand your situation, I'm sorry.

– Tanaike
Nov 16 '18 at 3:21




2




2





There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

– TheWizEd
Nov 16 '18 at 14:00





There is no such thing as integer in javascript only number. All numbers are 64 bit floating point.

– TheWizEd
Nov 16 '18 at 14:00













@Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

– OsulliP
Nov 22 '18 at 6:18







@Tanaike The issue is that getArray().indexOf(123456780) should be true, but in App Script it is false - it is as if 123456780 != 123456780.0.

– OsulliP
Nov 22 '18 at 6:18















@OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

– Tanaike
Nov 22 '18 at 6:35





@OsulliP Thank you for replying. In your script, console.log("Found in Array"); is not run. Is my understanding correct? In order to understand correctly your situation, can you provide the complete script that your situation can be replicated? If you can do, please add it to your question. I would like to confirm and study about it.

– Tanaike
Nov 22 '18 at 6:35












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53330737%2fwhy-does-app-script-add-a-decimal-to-numbers-in-an-array%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53330737%2fwhy-does-app-script-add-a-decimal-to-numbers-in-an-array%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Florida Star v. B. J. F.

Error while running script in elastic search , gateway timeout

Adding quotations to stringified JSON object values