我可以在JS中创建一个没有名称的对象吗?

时间:2017-04-30 17:45:44

标签: javascript arrays object

我有一个看起来像这样的结构:

var set_2 =  {
    nameofSet : 'French greetings',
    category: 'languages',
    cards : [
        {
            front : 'bonjour',
            back : 'dzien dobry'
        },
        {
            front : 'bonne nuit',
            back : 'dobranoc'
        },
        {
            front : 'bon soir',
            back : 'dobry wieczor'
        }
    ]
}

我可以在这样的循环中迭代它们:

 var cards = set_2.cards;
 for (k = 0;k<cards.length;k++) {
     var frontSide = cards[k].front;
     var backSide = cards[k].back;
 }

我是否正确地假设在卡阵列中我有几个没有名字的对象?

如果是这样,我怎样才能将更多这样的对象推送到卡阵列而不给它们命名?我想在for循环中创建这些对象。

5 个答案:

答案 0 :(得分:1)

我不确定您的名字是什么意思,但您可以将更多对象推送到数组中:

set_2.cards.push({front: 'front', back: 'back'});

答案 1 :(得分:1)

问:我是否正确假设在纸牌阵列中我有几个 没有名字的物体?

A:是的,它们没有像对象属性那样的属性名,但是它们每个都有索引,就像数组的索引一样,如0、1、2。 或者更确切地说:

set_2.cards[0]
set_2.cards[1]
set_2.cards[2]
问:如果是这样,我如何将更多类似的对象推入纸牌阵列 没有给他们起名字?

A:正如公认的答案所说:

set_2.cards.push({front: 'front', back: 'back'});

您推送到数组中的这些新对象将没有名称,但是将具有索引(或“索引”)。

总而言之,数组的元素由其索引号(JavaScript编号)表示,而对象中的条目由其属性名称(JavaScript字符串)表示。

答案 2 :(得分:1)

你不能创建一个没有名字的对象。带有名称的对象或只是普通数组,但您可以创建名称后跟数组的对象。

对象 -> 对象名称 -> 数组 -> 对象 -> 对象名称 -> 数组

var set_2 =  {
    nameofSet : 'French greetings',
    category: 'languages',
    cards : [
             {
              front: ['bonjour', 'bonne nuit', 'bon soir'],
              back:  ['dzien dobry', 'dobranoc' 'dobry wieczor']
             }
            ]     
}

'卓悦'

console.log(set_2.cards[0].front[0]);

'多布拉诺克'

console.log(set_2.cards[0].back[1]);

推到前面

set_2.cards[0].front.push('Hello');

向后推

set_2.cards[0].back.push('Hello');

答案 3 :(得分:0)

您可以像这样使用 /**/ $mailto = $_POST['mailto']; $mailfrom = $_POST['mailfrom']; $mailsubject = $_POST['mailsubject']; $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $description = $_POST['description']; $description = wordwrap($description, 100, "<br />"); /* break description content every after 100 character. */ $content = ''; $content .= ' <style> table { border-collapse: collapse; } table{ width:800px; margin:0 auto; } td{ border: 1px solid #e2e2e2; padding: 10px; max-width:520px; word-wrap: break-word; } </style> '; /* you css */ $content .= '<table>'; $content .= '<tr><td>Mail To</td> <td>' . $mailto . '</td> </tr>'; $content .= '<tr><td>Mail From</td> <td>' . $mailfrom . '</td> </tr>'; $content .= '<tr><td>Mail Subject</td> <td>' . $mailsubject . '</td> </tr>'; $content .= '<tr><td>Firstname</td> <td>' . $firstname . '</td> </tr>'; $content .= '<tr><td>Lastname</td> <td>' . $lastname . '</td> </tr>'; $content .= '<tr><td>Description</td> <td>' . $description . '</td> </tr>'; $content .= '</table>'; require_once('html2pdf/html2pdf.class.php'); $to = $mailto; $from = $mailfrom; $subject = $mailsubject; $html2pdf = new HTML2PDF('P', 'A4', 'fr'); $html2pdf->setDefaultFont('Arial'); $html2pdf->writeHTML($content, isset($_GET['vuehtml'])); $html2pdf = new HTML2PDF('P', 'A4', 'fr'); $html2pdf->WriteHTML($content); $message = "<p>Please see the attachment.</p>"; $separator = md5(time()); $eol = PHP_EOL; $filename = "pdf-document.pdf"; $pdfdoc = $html2pdf->Output('', 'S'); $attachment = chunk_split(base64_encode($pdfdoc)); $headers = "From: " . $from . $eol; $headers .= "MIME-Version: 1.0" . $eol; $headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol . $eol; $body = ''; $body .= "Content-Transfer-Encoding: 7bit" . $eol; $body .= "This is a MIME encoded message." . $eol; //had one more .$eol $body .= "--" . $separator . $eol; $body .= "Content-Type: text/html; charset=\"iso-8859-1\"" . $eol; $body .= "Content-Transfer-Encoding: 8bit" . $eol . $eol; $body .= $message . $eol; $body .= "--" . $separator . $eol; $body .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"" . $eol; $body .= "Content-Transfer-Encoding: base64" . $eol; $body .= "Content-Disposition: attachment" . $eol . $eol; $body .= $attachment . $eol; $body .= "--" . $separator . "--"; if (mail($to, $subject, $body, $headers)) { $msgsuccess = 'Mail Send Successfully'; } else { $msgerror = 'Main not send'; } 方法

push()

答案 4 :(得分:0)

关于有几个没有名称的对象的问题。如果我理解正确,那么您只有一个主要对象。它的名称是“ set_2”。其余的“ nameofSet”,“ category”和“ cards”是对象属性的名称。

“ cards”具有一个数组值,如果您要求这样做,则该数组值似乎具有带有“ front”和“ back”属性的空对象。