Javascript: Accessing Property of Objects Inside an Array

How can I get the integer "100" from dataset1 [below]?

    var dataset1 = [ 
            {video_name: "Apples", video_views: 100},
            {video_name: "Oranges", video_views: 35},
            {video_name: "Grapes", video_views: 20},
            {video_name: "Avocados", video_views: 85},
            {video_name: "Tomatoes", video_views: 60}
        ]

Answers:

Answer

If you want video views based on video name, you'll need to loop through the array and find it.

var dataset1 = [ 
    {video_name: "Apples", video_views: 100},
    {video_name: "Oranges", video_views: 35},
    {video_name: "Grapes", video_views: 20},
    {video_name: "Avocados", video_views: 85},
    {video_name: "Tomatoes", video_views: 60}
]

var searchCriteria = {video_name: "Apples"};
var searchResult;

//This loop sets searchResult to the LAST element in the set that meets the criteria

dataset1.forEach(function(obj){
    var matches = true;
    for (var key in searchCriteria){
        if (searchCriteria[key] !== obj[key]){
            matches = false;
        }
    }
    if (matches){
        searchResult = obj;
    }
});

console.log(searchResult);

or you could use a library like Underscore to do the same thing, but without having to look at the loop.

Answer

dataset1[0].video_views would get that

Answer

You are working with an array of objects here. It should, therefore, be possible to use the forEach() method of arrays in javascript. You can read more about this in MD5 Documentation

The following code snippet should iterate through your array of objects and access the key: value pairs easily.

var dataset1 = [ 
            {video_name: "Apples", video_views: 100},
            {video_name: "Oranges", video_views: 35},
            {video_name: "Grapes", video_views: 20},
            {video_name: "Avocados", video_views: 85},
            {video_name: "Tomatoes", video_views: 60}
        ]

dataset1.forEach(function (element, index, array){
console.log("Video Name: " + dataset1[index].video_name + "; Views: "+ dataset1[index].video_views);
});

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.