JavaScript使用小技巧之数组操作与获取URL参数

javaScript 获取对象数组中某几项

使用JavaScript中的map()forEach()方法进行遍历

要获取对象数组中的某几项,你可以使用JavaScript中的map()forEach()方法进行遍历,并通过对象的键来获取相应的值。以下是一个示例代码:

// 示例对象数组
const objArray = [
  { id: 1, name: 'John', age: 25 },
    { id: 2, name: 'Jane', age: 30 },
      { id: 3, name: 'Tom', age: 35 },
        { id: 4, name: 'Alice', age: 40 }
        ];

    // 要获取的属性键
    const desiredKeys = ['name', 'age'];
    
    // 使用map()方法获取对应的属性值
    const result = objArray.map(obj => {
      const newObj = {};
        desiredKeys.forEach(key => {
            newObj[key] = obj[key];
              });
                return newObj;
                });
                
                console.log(result);</code></pre><p>上述代码中,我们首先定义了一个对象数组 <code>objArray</code>,其中包含了每个对象的 <code>id</code><code>name</code><code>age</code> 属性。然后,我们定义了一个数组 <code>desiredKeys</code>,用于指定我们想要获取的属性键。</p><p>接下来,我们使用 <code>map()</code> 方法遍历 <code>objArray</code> 数组,并使用 <code>forEach()</code> 方法遍历 <code>desiredKeys</code> 数组,将每个键对应的属性值存储到新的对象 <code>newObj</code> 中。最后,将 <code>newObj</code> 添加到 <code>result</code> 数组中。</p><p>最后,我们通过 <code>console.log()</code> 打印出 <code>result</code> 数组,其中包含了我们所需的属性键值对应的对象数组。</p><h3 id="item-0-3">更简便方法 -- 直接使用map便利 -- 推荐此中方法</h3><p>要获取对象数组中的某几项,可以使用 <code>map()</code> 方法来遍历数组,并通过解构赋值来选择所需的属性。以下是一个示例代码:</p><pre><code class="javascript">// 示例对象数组
                const objArray = [
                  { id: 1, name: 'John', age: 25 },
                    { id: 2, name: 'Jane', age: 30 },
                      { id: 3, name: 'Tom', age: 35 },
                        { id: 4, name: 'Alice', age: 40 }
                        ];
                        
                        // 获取所需的属性
                        const desiredProps = objArray.map(({ name, age }) =&gt; ({ name, age }));
                        
                        console.log(desiredProps);</code></pre><p>上述代码中,我们首先定义了一个对象数组 <code>objArray</code>,其中包含了每个对象的 <code>id</code><code>name</code><code>age</code> 属性。</p><p>然后,我们使用 <code>map()</code> 方法遍历 <code>objArray</code> 数组,并通过解构赋值来选择所需的 <code>name</code><code>age</code> 属性。在这个例子中,我们将解构赋值用于回调函数的参数部分,这样我们就能直接选择所需的属性。最后,我们通过返回一个新的对象来创建包含所需属性的对象数组。</p><p>最后,我们通过 <code>console.log()</code> 打印出 <code>desiredProps</code> 数组,其中包含了我们所需的属性对应的对象数组。</p><p>更多精彩内容,请<strong>微信搜索“<code>前端爱好者</code></strong><strong><a href="https://link.segmentfault.com/?enc=waGDgRDlMR2ARZFSutq35w%3D%3D.BU5O1UcGbxU3Htqvvbd%2BIk%2Fms5bjcB%2B3RzXxoNYZ0eOHVvTMGuPNBkCiubp8kWmPDQxbGm5SLhCbmybmyxPI8CDFCZzpzHNybQMzWTwQLJFWZpyqvg8qQ9f8Jw2RJ7BT8X9bbwTJR0stk0XwFzvzmI2%2B%2BvYdrSHww0Gs0jywlTYURYO2Z0xFmSdhvD%2BN7uw9pRzLDc%2FfuZQv6I0ua%2BSMn6x%2FEIcnPtonpZBuvhPqoAWYTf5F%2BN4iPbORUeJGxIvE" rel="nofollow" target="_blank">戳我</a> 查看</strong></p><h2 id="item-0-4">javaScript 获取url参数值</h2><p>在 JavaScript 中,你可以使用以下方法获取 URL 参数的值:</p><h3 id="item-0-5">使用 <code>URLSearchParams</code> 对象:</h3><pre><code class="javascript">// 假设 URL 为 http://example.com/?name=John&amp;age=30
                        
                        const urlParams = new URLSearchParams(window.location.search);
                        const name = urlParams.get('name');
                        const age = urlParams.get('age');
                        
                        console.log(name); // 输出 "John"
                        console.log(age); // 输出 "30"</code></pre><h3 id="item-0-6">使用正则表达式和 <code>match()</code> 方法:</h3><pre><code class="javascript">// 假设 URL 为 http://example.com/?name=John&amp;age=30
                        
                        const url = window.location.href;
                        const regex = /[?&amp;]([^=#]+)=([^&amp;#]*)/g;
                        let match;
                        const params = {};
                        
                        while ((match = regex.exec(url))) {
                          const key = decodeURIComponent(match[1]);
                            const value = decodeURIComponent(match[2]);
                              params[key] = value;
                              }
                              
                              console.log(params.name); // 输出 "John"
                              console.log(params.age); // 输出 "30"</code></pre><p>这些方法都可以帮助你获取 URL 中的参数值。</p><p>第一种方法使用了 <code>URLSearchParams</code> 对象,它是一个内置对象,提供了方便的操作 URL 查询参数的方法。</p><p>第二种方法则使用正则表达式来解析 URL 字符串,并将参数存储在一个对象中。你可以根据自己的需要选择其中一种方法。</p><p></p>