Question: Is it possible to loop a json object one by one ?  

let's say I have this object (text). I want to loop on `text` and get **next** item every 1 minute until I get them all. How can I do this in javascript ? 

```
 var text = 
        {
        "name":"John Johnson",
        "street":"Oslo West 16",
        "determine":"555 1234567",
        "JSON":"concernant",
        "you":"value"
        };

       setInterval(function(){
       //text.getnext
       }, 1000);

```

sorry if it is duplicated I have not found solution.

Answer: 
You could use the superb example of MDN for [Iterators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterators) and use it for the properties.

For every interval, the iterator is called with `next()` and then the value is checked. if done, clear the interval or display the property.

```js
function makeIterator(array) {
    var nextIndex = 0;
    return {
        next: function () {
            return nextIndex < array.length ?
                { value: array[nextIndex++], done: false } :
                { done: true };
        }
    };
}

var text = { "name": "John Johnson", "street": "Oslo West 16", "determine": "555 1234567", "JSON": "concernant", "you": "value" },
    iterator = makeIterator(Object.keys(text)),
    interval = setInterval(function () {
        var k = iterator.next();
        if (k.done) {
            clearInterval(interval);
        } else {
            console.log(text[k.value]);
        }                                // this value is for demo purpose
    }, 1000);                           // for a minute interval change to 60000
```
**Native:** 

You can get a list of keys in an array by using `Object.keys` and `setTimeout` built-in functions.

`Object.keys` returns an array of keys an an object
`setTimeout` takes a function and executes it after certain number of milliseconds (1000) in this case

So in your case 

```
  var keys = Object.keys(array);
  function iterate(keys, index){
     if(index == keys.length)
        return;
     else{
        console.log("current is " + array[keys[index]]);
        setTimeout(function(){iterate(keys, index + 1)}, 1000);
     }
  }

```

Then call `itterate(text, 0);`