# Spliting ?!

**URL:** <https://forum.kirupa.com/t/spliting/9997>\
**Category:** Uncategorized\
**Created:** [December 22, 2002, 6:41am UTC](https://forum.kirupa.com/t/spliting/9997 "2002-12-22T06:41:17Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [December 26, 2002, 12:53am UTC](https://forum.kirupa.com/t/spliting/9997/21 "2002-12-26T00:53:28Z")

</div>

how about this?

```php

nums = "12345";

function sumString( s ) {
	sum = 0;
	for( i = 0; i < s.length; i++ ) {
		num = parseInt( s.charAt( i ) );
		if( ! isNan( num ) )
			sum += num;
	}
	return sum;
}

trace( sumString( nums ) );

```

::EDIT::  
…or to go minimal…

```php

function sumString( s ) {
    for( sum=0,i = 0; i < s.length; sum += ! isNan( s.charAt( i ) ) ? parseInt( s.charAt( i ) ) : 0, i++ );
    return sum;
}

```

::EDIT2::  
…or…

```php

function sumString( s ) {
    for( sum = 0; s.length > 0; sum += ! isNan( s.slice(-1) ) ? parseInt( s.slice(-1) ) : 0, s = s.slice( 0, -1 ) );
    return sum;
}

```

::EDIT3::  
…or… 🙂

```php

function sumString( s ) {
	return 0 + isNan( s.slice(-1) ) ? 0 : s.length > 1 ? parseInt(s.slice(-1)) + sumString(s.slice(0,-1)) : parseInt(s.slice(-1));
}

```

the last one will stop on the first non-numeric (NaN) input… could be fixed by nesting checks but seems unnecessary… and it processes the string from end to start in difference from the others… plus it is useless for huge strings, since I noticed when developing a game which used a recursive function, flash didn’t really like more than 255 (I think) recursive calls… Didn’t cause a stack overflow though. Maybe there is a workaround…

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [December 26, 2002, 12:55am UTC](https://forum.kirupa.com/t/spliting/9997/22 "2002-12-26T00:55:47Z")

</div>

Hey thanx for creating it into a function dude…

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [December 26, 2002, 3:36am UTC](https://forum.kirupa.com/t/spliting/9997/23 "2002-12-26T03:36:27Z")

</div>

Great code nikc!

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [December 26, 2002, 9:49am UTC](https://forum.kirupa.com/t/spliting/9997/24 "2002-12-26T09:49:44Z")

</div>

Nice (-:

[Previous page](https://forum.kirupa.com/t/spliting/9997.md?page=1)
