Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代对象';s属性_Javascript - Fatal编程技术网

Javascript 迭代对象';s属性

Javascript 迭代对象';s属性,javascript,Javascript,我有一个对象数组。每个对象都有一个标题和一个链接 [Object { title="Do it", reslink="http://img-9gag-ftw.9cac.../photo/a5PrnLE_460s.jpg"}, Object { title="\n \n ...le \n ", reslink="http://img-9gag-ftw.9cac.../photo/aE17NWG_460s.jpg"}, Object { title="\n \n ...es \n ", resli

我有一个对象数组。每个对象都有一个标题和一个链接

[Object { title="Do it", reslink="http://img-9gag-ftw.9cac.../photo/a5PrnLE_460s.jpg"},
Object { title="\n \n ...le \n ", reslink="http://img-9gag-ftw.9cac.../photo/aE17NWG_460s.jpg"}, 
Object { title="\n \n ...es \n ", reslink="http://img-9gag-ftw.9cac...oto/a2Y5RqD_460s_v1.jpg"}]
我需要:

  • 在页面上为每个标题和标题创建一个元素
  • 为每个重新链接创建一个元素
  • 最简单的方法是什么?

    类似的方法

    for(var i in objects){
      var h1 = '<h1>' + objects[i].title + '</h1>';
      var href = '<a href="' + objects[i].reslink + '">linkText</a>';
    }
    
    for(对象中的变量i){
    变量h1=''+对象[i].标题+'';
    var href='';
    }
    
    不一定是最简单(最短)的方法,但是使用domapi可能比使用
    innerHTML
    之类的工具更干净(可能更快)

    我的解决方案:

    for (var i = 0; i < array.length; i++) {
        var header = document.createElement('h1');
        header.textContent = array[i].title;
        // append the DOM element to another element (maybe to body)
        document.body.appendChild(header);
    
        var link = document.createElement('a');
        link.setAttribute('href', array[i].reslink);
        // append the DOM element
        document.body.appendChild(link);
    }
    
    for(变量i=0;i

    也许你不想把它附加到身体的末端,但你明白了。如果要将其附加到其他位置,请使用
    #getElementById()
    #querySelector()
    查找父元素,然后将其附加到该位置。

    可以使用
    map
    方法为每个数组项创建一个元素

    例如,这将创建一个链接数组,其中
    title
    属性为text,
    reslink
    属性为
    href

    var links = $.map(objects, function(o){
      return $('<a>', { href: o.reslink }).text(o.title)[0];
    });
    

    使用for循环对它们进行迭代。然后使用jQuery的函数(,等等…)插入新元素

    我不太清楚你想创造什么,但这里是。。。 例如:

    for(var i=0; i < list.length; i++)
    {
       var titleElement = "<title>" + list[i].title + "</title>";
       var linkElement = "<a href=" + list[i].reslink +">" + list[i].title + "</a>";
       $('#whereToInsertSelector').append(titleElement);
       $('#whereToInsertSelector2').append(linkElement);
    }
    
    for(变量i=0;i
    以下是我认为您正在努力实现的目标

    JavaScript
    NineGagPosts=[{
    标题:“不可能是唯一的”,
    重新链接:“http://img-9gag-ftw.9cache.com/photo/avgPd9n_700b_v1.jpg"
    }, {
    标题:“这是一个**洞”,
    重新链接:“http://img-9gag-ftw.9cache.com/photo/aqNLejQ_700b.jpg"
    }, {
    标题:“她看起来很有趣”,
    重新链接:“http://img-9gag-ftw.9cache.com/photo/a2Y5K2E_700b_v1.jpg"
    }];
    window.addEventListener(“加载”,readPosts);
    函数readPosts(){
    对于(变量i=0,l=NineGagPosts.length;i
    当页面加载(访问
    document.body
    )时,我们调用
    readPosts()
    函数,该函数将迭代所有帖子,为标题创建
    元素,为实际帖子图像创建
    元素,然后将它们附加到


    希望这有帮助

    因为它是一个数组,所以for循环将是最快的,您可以使用其他东西,例如JQuery或
    array.prototype.map或
    array.prototype.forEach
    中的
    $。您可以提供一个示例,当我尝试使用其中任何一种语法时,我都会迷路。最简单的方法是你这样做的方式:让别人去做。不幸的是,这不是问题的关键。您需要向我们展示您尝试过但不起作用的内容。
    var$titles=arrOfObjects.map(函数(o){return$('',{title:o.title,href:o.reslink}})谢谢,这太完美了。我使用这个结构有点错误。我将属性名而不是新变量放入(对象中的变量I)。
    
    for(var i=0; i < list.length; i++)
    {
       var titleElement = "<title>" + list[i].title + "</title>";
       var linkElement = "<a href=" + list[i].reslink +">" + list[i].title + "</a>";
       $('#whereToInsertSelector').append(titleElement);
       $('#whereToInsertSelector2').append(linkElement);
    }
    
    NineGagPosts = [{
        title: "Can't be the only one",
        reslink: "http://img-9gag-ftw.9cache.com/photo/avgPd9n_700b_v1.jpg"
    }, {
        title: "This a**hole",
        reslink: "http://img-9gag-ftw.9cache.com/photo/aqNLejQ_700b.jpg"
    }, {
        title: "She looks fun",
        reslink: "http://img-9gag-ftw.9cache.com/photo/a2Y5K2E_700b_v1.jpg"
    }];
    
    window.addEventListener("load", readPosts);
    
    function readPosts() {
    
        for (var i = 0, l = NineGagPosts.length; i < l; i++) {
            var post = NineGagPosts[i];
            var title = document.createElement("h1");
            var image = new Image();
            title.innerHTML = post.title;
            image.src = post.reslink;
            image.width = 250;
            document.body.appendChild(title);
            document.body.appendChild(image);
        }
    
    }