{"id":18876,"date":"2022-11-02T06:02:27","date_gmt":"2022-11-02T00:32:27","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/"},"modified":"2022-11-02T06:02:27","modified_gmt":"2022-11-02T00:32:27","slug":"solved-which-ways-are-best-to-define-my-method","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/","title":{"rendered":"[Solved] Which ways are best to define my method."},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-32359183\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"32359183\" data-parentid=\"32356663\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>So, you&#8217;ve proposed two functions that look like they are primarily designed to work with arrays, but they should return intelligent results if you pass them something other than an array.<\/p>\n<p>So, right away, you can&#8217;t use the <code>Array.prototype<\/code> method because if the data is not an array, that method won&#8217;t exist on the object and you won&#8217;t get the behavior you have currently coded.<\/p>\n<p>So, it really comes down to whether they should be global functions or namespaced functions on your own global object.<\/p>\n<p>When in doubt, fewer global symbols is generally the right answer because more global symbols make it more likely you may have a conflict with other code you might include in your project.<\/p>\n<p>I would suggest this revised implementation of your namespace object:<\/p>\n<pre><code>var Helper = {\n    isEmpty: function (obj) {\n        return !obj || (Array.isArray(obj) &amp;&amp; obj.length === 0);\n    },\n    pushArray: function (arr1, arr2) {\n        if (Array.isArray(arr1)) {\n            if (Array.isArray(arr2) {\n               \/\/ push one array onto the end of the other\n               arr1.push.apply(arr1, arr2);\n            } else if (arr2 !== undefined) {\n               \/\/ push a value onto the array\n               arr1.push(arr2);\n            }\n        }\n    }\n}\n<\/code><\/pre>\n<p>In <code>isEmpty()<\/code>, I&#8217;ve removed the <code>obj === null || obj === undefined<\/code> checks because they will never be hit because <code>!obj<\/code> will already catch those.<\/p>\n<p>In <code>pushArray()<\/code>, I&#8217;ve made it so a falsey value passed in <code>arr2<\/code> (such as <code>0<\/code>) can be pushed into the array which your code would not allow.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Which ways are best to define my method. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] So, you&#8217;ve proposed two functions that look like they are primarily designed to work with arrays, but they should return intelligent results if you pass them something other than an array. So, right away, you can&#8217;t use the Array.prototype method because if the data is not an array, that method won&#8217;t exist on the &#8230; <a title=\"[Solved] Which ways are best to define my method.\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\" aria-label=\"More on [Solved] Which ways are best to define my method.\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[333,430,4539],"class_list":["post-18876","post","type-post","status-publish","format-standard","hentry","category-solved","tag-javascript","tag-object","tag-prototype"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Which ways are best to define my method. - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Which ways are best to define my method. - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] So, you&#8217;ve proposed two functions that look like they are primarily designed to work with arrays, but they should return intelligent results if you pass them something other than an array. So, right away, you can&#8217;t use the Array.prototype method because if the data is not an array, that method won&#8217;t exist on the ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-02T00:32:27+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Which ways are best to define my method.\",\"datePublished\":\"2022-11-02T00:32:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\"},\"wordCount\":193,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"javascript\",\"object\",\"prototype\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\",\"name\":\"[Solved] Which ways are best to define my method. - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-02T00:32:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Which ways are best to define my method.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Which ways are best to define my method. - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Which ways are best to define my method. - JassWeb","og_description":"[ad_1] So, you&#8217;ve proposed two functions that look like they are primarily designed to work with arrays, but they should return intelligent results if you pass them something other than an array. So, right away, you can&#8217;t use the Array.prototype method because if the data is not an array, that method won&#8217;t exist on the ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/","og_site_name":"JassWeb","article_published_time":"2022-11-02T00:32:27+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Which ways are best to define my method.","datePublished":"2022-11-02T00:32:27+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/"},"wordCount":193,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["javascript","object","prototype"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/","url":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/","name":"[Solved] Which ways are best to define my method. - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-02T00:32:27+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-which-ways-are-best-to-define-my-method\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Which ways are best to define my method."}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=18876"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18876\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}