mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2026-02-27 09:32:01 +08:00
语法高亮,滚动条美化,设置页面调整
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<div><iframe class="interactive interactive-js" frameborder="0" height="250" src="https://interactive-examples.mdn.mozilla.net/pages/js/object-entries.html" width="100%"></iframe></div>
|
||||
<p class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a class="external" href="https://github.com/mdn/interactive-examples" rel="noopener">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p>
|
||||
<h2 id="语法">语法</h2>
|
||||
<pre class="syntaxbox">Object.entries(<var>obj</var>)</pre>
|
||||
<pre><code class="language-javascript">Object.entries(<var>obj</var>)</code></pre>
|
||||
<h3 id="参数">参数</h3>
|
||||
<dl>
|
||||
<dt><code>obj</code></dt>
|
||||
@@ -17,7 +17,7 @@
|
||||
<h2 id="描述">描述</h2>
|
||||
<p><code>Object.entries()</code>返回一个数组,其元素是与直接在<code>object</code>上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。</p>
|
||||
<h2 id="示例">示例</h2>
|
||||
<pre class="brush: js">const obj = { foo: 'bar', baz: 42 };
|
||||
<pre><code class="language-javascript">const obj = { foo: 'bar', baz: 42 };
|
||||
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
|
||||
|
||||
// array like object
|
||||
@@ -45,15 +45,15 @@ for (const [key, value] of Object.entries(obj)) {
|
||||
// Or, using array extras
|
||||
Object.entries(obj).forEach(([key, value]) => {
|
||||
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
|
||||
});</pre>
|
||||
});</code></pre>
|
||||
<h3 id="将Object转换为Map">将<code>Object</code>转换为<code>Map</code></h3>
|
||||
<p><a href="Reference/Map" title="此页面仍未被本地化, 期待您的翻译!"><code>new Map()</code></a> 构造函数接受一个可迭代的<code>entries</code>。借助<code>Object.entries</code>方法你可以很容易的将<a href="Reference/Global_Objects/Object" title="Object 构造函数创建一个对象包装器。"><code>Object</code></a>转换为<a href="Reference/Map" title="此页面仍未被本地化, 期待您的翻译!"><code>Map</code></a>:</p>
|
||||
<pre class="brush: js">var obj = { foo: "bar", baz: 42 };
|
||||
<pre><code class="language-javascript">var obj = { foo: "bar", baz: 42 };
|
||||
var map = new Map(Object.entries(obj));
|
||||
console.log(map); // Map { foo: "bar", baz: 42 }</pre>
|
||||
console.log(map); // Map { foo: "bar", baz: 42 }</code></pre>
|
||||
<h2 id="Polyfill">Polyfill</h2>
|
||||
<p>要在较旧环境中添加兼容的<code>Object.entries</code>支持,你可以在 <a class="external" href="https://github.com/tc39/proposal-object-values-entries" rel="noopener">tc39/proposal-object-values-entries</a> 中找到Object.entries的示例(如果你不需要任何对IE的支持),在 <a class="external" href="https://github.com/es-shims/Object.entries" rel="noopener">es-shims/Object.entries</a> 资料库中的一个polyfill,或者你可以使用下面列出的简易 polyfill。</p>
|
||||
<pre class="brush: js">if (!Object.entries)
|
||||
<pre><code class="language-javascript">if (!Object.entries)
|
||||
Object.entries = function( obj ){
|
||||
var ownProps = Object.keys( obj ),
|
||||
i = ownProps.length,
|
||||
@@ -62,7 +62,7 @@ console.log(map); // Map { foo: "bar", baz: 42 }</pre>
|
||||
resArray[i] = [ownProps[i], obj[ownProps[i]]];
|
||||
|
||||
return resArray;
|
||||
};</pre>
|
||||
};</code></pre>
|
||||
<p>对于上述 polyfill 代码片段,如果你需要 IE9 以下的支持,那么你还需要一个 Object.keys polyfill(如 <a href="Reference/Global_Objects/Object/keys" title="Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 。"><code>Object.keys</code></a>页面上的)。</p>
|
||||
<h2 id="规范">规范</h2>
|
||||
<table class="standard-table">
|
||||
|
||||
Reference in New Issue
Block a user