<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://involvenevolve.com/rss/xslt"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Sudarshan's Blog</title>
    <link>http://involvenevolve.com/</link>
    <description>My Thoughts, Findings &amp; Experiences</description>
    <generator>Articulate, blogging built on Umbraco</generator>
    <item>
      <guid isPermaLink="false">1104</guid>
      <link>http://involvenevolve.com/archive/convert-json-date-into-javascript-date/</link>
      <category>JavaScript</category>
      <title>Convert JSON Date into JavaScript Date</title>
      <description>&lt;p&gt;JSON is becoming very popular format to exchange data between client and server in Web 2.0 applications. Everything works very smooth apart from date in JSON. Date format in JSON is something like ‘\/Date(-606769200000-0500)\/’ where ‘-606769200000’ is number of milliseconds from January 1, 1970 and ‘-0500’ is time offset.&lt;/p&gt;
&lt;p&gt;Now, to convert this JSON date into normal JavaScript date is nightmare. There are lot of solutions available, but none of them works perfectly.&lt;/p&gt;
&lt;p&gt;So, finally, we come up with solution which will parse JSON date correctly considering time zone information as well.&lt;/p&gt;
&lt;h3&gt;Solution 1: (without using regular expression)&lt;/h3&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; parseJsonDate(jsonDate) {&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// Get the date time part&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; dateTimePart = jsonDate.replace(/\/+Date\(([\d+-]+)\)\/+/, &lt;span style="color: #006080;"&gt;'$1'&lt;/span&gt;);&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;// Check for + or - sign&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; minusSignIndex = dateTimePart.indexOf(&lt;span style="color: #006080;"&gt;'-'&lt;/span&gt;);&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; plusSignIndex = dateTimePart.indexOf(&lt;span style="color: #006080;"&gt;'+'&lt;/span&gt;);&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;// Get the sign index&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; signIndex = minusSignIndex &amp;gt; 0 ? minusSignIndex : plusSignIndex;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// If sign index is not 0 then we are extracting offset part and &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;(signIndex &amp;gt; 0) {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; datePart = dateTimePart.substring(0, signIndex);&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; offsetPart = dateTimePart.substring(signIndex);&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; offset = offsetPart.substring(0,3) + &lt;span style="color: #006080;"&gt;'.'&lt;/span&gt; + ((parseFloat(offsetPart.substring(3)) / 60) * 100).toString();&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; getJSDate(parseFloat(datePart), parseFloat(offset));&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; getJSDate(dateTimePart, 0);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; getJSDate(ms, offset) {&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// create Date object for current location&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; date = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Date(ms);&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// convert to msec&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// add local time zone offset &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// get UTC time in msec&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; utcTime = date.getTime() + (date.getTimezoneOffset() * 60000);&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #008000;"&gt;// create new Date object for different city&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;// using supplied offset&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; jsDate = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Date(utcTime + (3600000*offset));&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; jsDate;&lt;br /&gt;  }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;Solution 2: (with the power of regular expression – Thanks to Jon)&lt;/h3&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; parseJsonDate(jsonDate) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; offset = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Date().getTimezoneOffset() * 60000;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; parts = /\/Date\((-?\d+)([+-]\d{2})?(\d{2})?.*/.exec(jsonDate);&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (parts[2] == undefined) &lt;br /&gt;      parts[2] = 0;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (parts[3] == undefined) &lt;br /&gt;      parts[3] = 0;&lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Date(+parts[1] + offset + parts[2]*3600000 + parts[3]*60000);&lt;br /&gt;};&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Now, no need of ugly solutions like passing date in string format &lt;img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" src="http://sudarshanbhalerao.files.wordpress.com/2011/08/wlemoticon-smile.png" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;Happy programming!&lt;/p&gt;</description>
      <pubDate>Sun, 14 Aug 2011 07:39:45 Z</pubDate>
      <a10:updated>2011-08-14T07:39:45Z</a10:updated>
    </item>
    <item>
      <guid isPermaLink="false">1101</guid>
      <link>http://involvenevolve.com/archive/useful-prototype-functions-for-string-and-array/</link>
      <category>JavaScript</category>
      <category>Utility</category>
      <title>Useful prototype functions for String and Array</title>
      <description>&lt;p&gt;Here is the listing of useful prototype functions for String and Array used in JavaScript:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;String.format: &lt;/strong&gt;&lt;br /&gt;This function formats the string. This is equivalent of C# 'string.Format' function.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// This is similar to C# 'string.format' function&lt;/span&gt;&lt;br /&gt;String.prototype.format = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;() {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; txt = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;,&lt;br /&gt;        i = arguments.length;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) {&lt;br /&gt;        txt = txt.replace(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; RegExp(&lt;span style="color: #006080;"&gt;'\\{'&lt;/span&gt; + i + &lt;span style="color: #006080;"&gt;'\\}'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'gm'&lt;/span&gt;), arguments[i]);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; txt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'{0}:{1} {2} to {3}:{4} {5} {6}&amp;lt;br /&amp;gt;'&lt;/span&gt;.format(&lt;span style="color: #006080;"&gt;'07'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'00'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'AM'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'07'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'00'&lt;/span&gt;, &lt;span style="color: #006080;"&gt;'PM'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;07:00 AM to 07:00 PM&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;String.replaceAll&lt;/strong&gt;&lt;br /&gt;This function removes matched string with the specified string.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// This is similar to 'string.Replace' function&lt;/span&gt;&lt;br /&gt;String.prototype.replaceAll = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(pcFrom, pcTo) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.indexOf(pcFrom);&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; c = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i &amp;gt; -1) {&lt;br /&gt;        c = c.replace(pcFrom, pcTo);&lt;br /&gt;        i = c.indexOf(pcFrom);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; c;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'This is test. &amp;lt;BR&amp;gt; This is test.'&lt;/span&gt;.replaceAll(&lt;span style="color: #006080;"&gt;"BR"&lt;/span&gt;, &lt;span style="color: #006080;"&gt;"br"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'This is test. &amp;lt;br&amp;gt; This is test.'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;String.prototype.trim&lt;/strong&gt; &lt;br /&gt;This function trims spaces from left and right side of the string.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Removes spaces from left and right side of string&lt;/span&gt;&lt;br /&gt;String.prototype.trim = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;() {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.replace(/^\s+|\s+$/g, &lt;span style="color: #006080;"&gt;""&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'      Testing functionality      '&lt;/span&gt;.trim();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'Testing functionality'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;String.prototype.ltrim&lt;/strong&gt;&lt;br /&gt;This function trims spaces from left side of the string.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Removes left side spaces from string&lt;/span&gt;&lt;br /&gt;String.prototype.ltrim = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;() {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.replace(/^\s+/, &lt;span style="color: #006080;"&gt;""&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'       Testing functionality'&lt;/span&gt;.ltrim();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'Testing functionality'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;String.prototype.rtrim&lt;/strong&gt; &lt;br /&gt;This function trims spaces from right side of the string.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Removes spaces from right side of the string&lt;/span&gt;&lt;br /&gt;String.prototype.rtrim = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;() {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.replace(/\s+$/, &lt;span style="color: #006080;"&gt;""&lt;/span&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'Testing functionality      '&lt;/span&gt;.rtrim();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'Testing functionality'&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.contains&lt;/strong&gt; &lt;br /&gt;This function checks whether item exists in array or not.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "contains" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.contains = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(obj) { &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length; &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) { &lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i] === obj) { &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;; &lt;br /&gt;        } &lt;br /&gt;    }  &lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; array = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array(1, 2, 3, 4, 5);&lt;br /&gt;&lt;br /&gt;1. array.contains(2);&lt;br /&gt;2. array.contains(7);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;1. &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;br /&gt;2. false&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.remove&lt;/strong&gt; &lt;br /&gt;This function removes items from the array based on index.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "remove" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.remove = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(from, to) { &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; rest = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.slice((to || from) + 1 || &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length); &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length = from &amp;lt; 0 ? &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length + from : from; &lt;br /&gt;    &lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.push.apply(&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, rest); &lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; array = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array(1, 2, 3, 4, 5);&lt;br /&gt;array.remove(1,2);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;Array contents: 1,4,5&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.getItem&lt;/strong&gt; &lt;br /&gt;This function gets the object from list of objects based on object id. Here assumed that 'Id' property contains object ID.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "getItem" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.getItem = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(id) {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i][&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;] === parseInt(id)) {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i];&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entityList = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;entityList.push({ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; });&lt;br /&gt;entityList.push({ Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; });&lt;br /&gt;&lt;br /&gt;entityList.getItem(1);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;{ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.containsId&lt;/strong&gt; &lt;br /&gt;This function checks whether object with passed ID exists in the list of objects. Here assumed that 'Id' property contains object ID.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "containsId" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.containsId = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(id) {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i][&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;] === parseInt(id)) {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;; &lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entityList = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;entityList.push({ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; });&lt;br /&gt;entityList.push({ Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; });&lt;br /&gt;&lt;br /&gt;1. entityList.containsId(1);&lt;br /&gt;2. entityList.containsId(7);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;1. &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;br /&gt;2. false&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.removeItem&lt;/strong&gt; &lt;br /&gt;This function removes the object from list of objects based on object id. Here assumed that 'Id' property contains object ID.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "removeItem" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.removeItem = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(id) {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i][&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;] === parseInt(id)) {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.splice(i, 1);&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entityList = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;entityList.push({ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; });&lt;br /&gt;entityList.push({ Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; });&lt;br /&gt;entityList.removeItem(1);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'entityList'&lt;/span&gt; contents: { Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.addItem&lt;/strong&gt; &lt;br /&gt;This function adds the object to list of objects.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "addItem" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.addItem = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(id) {&lt;br /&gt;  &lt;span style="color: #008000;"&gt;// Form an object if you want for passed 'id'&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; obj = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; obj();&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.push(obj);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;                OR&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Attached "addItem" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.addItem = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(obj) {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.push(obj);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entityList = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;entityList.push({ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; });&lt;br /&gt;entityList.push({ Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; });&lt;br /&gt;&lt;br /&gt;entityList.addItem({ Id: 3, Name: &lt;span style="color: #006080;"&gt;"Name 3"&lt;/span&gt; });&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #006080;"&gt;'entityList'&lt;/span&gt; contents: { Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; }, { Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; }, { Id: 3, Name: &lt;span style="color: #006080;"&gt;"Name 3"&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Array.prototype.updateItem&lt;/strong&gt; &lt;br /&gt;This function updates the object property from list of objects based on object id. Here assumed that 'Id' property contains object ID.&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;"&gt;&lt;span style="color: #008000;"&gt;// Attached "updateItem" method to array.&lt;/span&gt;&lt;br /&gt;Array.prototype.updateItem = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;(id, field, value) {&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.length;&lt;br /&gt;  &lt;span style="color: #0000ff;"&gt;while&lt;/span&gt; (i--) {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i][&lt;span style="color: #006080;"&gt;"Id"&lt;/span&gt;] === parseInt(id)) {&lt;br /&gt;      &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;[i][field] = value;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Usage:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; entityList = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;entityList.push({ Id: 1, Name: &lt;span style="color: #006080;"&gt;"Name 1"&lt;/span&gt; });&lt;br /&gt;entityList.push({ Id: 2, Name: &lt;span style="color: #006080;"&gt;"Name 2"&lt;/span&gt; });&lt;br /&gt;&lt;br /&gt;entityList.updateItem(1, &lt;span style="color: #006080;"&gt;"Name"&lt;/span&gt;, &lt;span style="color: #006080;"&gt;"Name 11"&lt;/span&gt;);&lt;br /&gt;alert(entityList[0].Name);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;// Output:&lt;/span&gt;&lt;br /&gt;Alert result: &lt;span style="color: #006080;"&gt;"Name 11"&lt;/span&gt;;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;All these items from listing are not written by me &lt;img style="border-style: none;" class="wlEmoticon wlEmoticon-smile" src="http://sudarshanbhalerao.files.wordpress.com/2010/10/wlemoticon-smile.png" alt="Smile" /&gt; (I just copied few of them by googling). Thanks to community who wrote some of them.&lt;/p&gt;
&lt;p&gt;Happy programming!&lt;/p&gt;</description>
      <pubDate>Mon, 04 Oct 2010 06:32:00 Z</pubDate>
      <a10:updated>2010-10-04T06:32:00Z</a10:updated>
    </item>
  </channel>
</rss>