相关疑难解决方法(0)

将数组拆分为重叠的块(移动子组)

关于如何将JavaScript 数组拆分为 chunks有一个很好的问题。我目前正在将它用于我正在编写的一些统计方法,我使用答案如下(尽管我选择不像他们在答案中那样扩展 Array 原型):

var chunk = function(array, chunkSize) {
    return [].concat.apply([],
        array.map(function(elem,i) {
            return i%chunkSize ? [] : [array.slice(i,i+chunkSize)];
        })
    );
};
Run Code Online (Sandbox Code Playgroud)

这需要一个数组,例如[1,2,3,4,5,6],并给定 a chunkSizeof 2 返回[[1,2],[3,4],[5,6]]。我很好奇如何修改它以创建一组“重叠”块(或者对于那些熟悉诸如移动平均线、“移动子组”等方法的人)。

提供与上述相同的数组和chunkSize3,它将返回[[1,2,3],[2,3,4],[3,4,5],[4,5,6]]. A chunkSizeof 2 将返回[[1,2],[2,3],[3,4],[4,5],[5,6]]

关于如何解决这个问题的任何想法?

javascript arrays splice moving-average

5
推荐指数
1
解决办法
907
查看次数

如何从Cloud Firestore中删除多个文档?

从Cloud Firestore删除许多(不是全部)文档的最佳方法是什么?

官方文档包含有关删除一个文档和所有文档的信息:https://firebase.google.com/docs/firestore/manage-data/delete-data.

firebase google-cloud-firestore

5
推荐指数
3
解决办法
3693
查看次数

从DynamoDB中删除具有相同分区键的大数据

我有这样的DynamoDB表结构

A   B    C    D
1   id1  foo hi
1   id2  var hello
Run Code Online (Sandbox Code Playgroud)

A是分区键,B是排序键。

假设我只有分区键,不知道排序键,我想删除所有具有相同分区键的条目。

因此,我正在考虑通过查询以固定大小(例如1000)加载条目,并批量删除它们,直到DynamoDB中不再有带有分区键的条目为止。

是否可以删除条目而不先加载它们?

delete-operator amazon-dynamodb

5
推荐指数
2
解决办法
3439
查看次数

将数组元素分组为 n 组

我有一个数组

let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]; 
Run Code Online (Sandbox Code Playgroud)

我想将其分组为一组 n 数组,以便 result[0] 中的前 n 个元素,以及 result[1] 中的后 n 个元素,如果剩余任何元素,则将其丢弃。

let sampleOutput = [[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13]] for n = 7; 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

function group5(arr, len) {
 let result = [];
 let loop=parseInt(arr.length/len)
 for (let i=0; i<arr.length; i+=len) {
  let x = []; let limitReached = false;
  for (let j=0; j<len; …
Run Code Online (Sandbox Code Playgroud)

javascript arrays set

5
推荐指数
1
解决办法
4897
查看次数

在单独的值之外的另一个(主)数组中创建一个数组

问题

我有一串用逗号分隔的数值,我想将它们包括在一个数组中,而且每对它们都是嵌套在主数组内的一个数组,作为我的图形顶点。

我该如何解决这个问题?

输入:

var vertices = "24,13,47,20,33,9,68,18,99,14,150,33,33,33,34,15,91,10";
Run Code Online (Sandbox Code Playgroud)

我希望他们成为的是:

输出:

var V_array = [[24,13],[47,20],[33,9],[68,18],[99,14],[150,33],[33,33],[34,15],[91,10]];
Run Code Online (Sandbox Code Playgroud)

javascript arrays multidimensional-array

5
推荐指数
1
解决办法
102
查看次数

使用 typescript/javascript 将数组拆分为组

我有这个:

    products = [
       {
         'id': 1
         'name: 'test'
       },
       {
         'id': 2
         'name: 'test'
       },
       {
         'id': 3
         'name: 'test'
       }
       ... etc, etc
    ]
Run Code Online (Sandbox Code Playgroud)

我需要将其重组为:

    products = [
       row1: [
        {
         'id': 1
         'name: 'test'
        },
        {
         'id': 2
         'name: 'test'
        },
        {
         'id': 3
         'name: 'test'
        },
        {
         'id': 4
         'name: 'test'
        }
       ]
    row2: [
       {
         'id': 5
         'name: 'test'
        },
        {
         'id': 6
         'name: 'test'
        },
        {
         'id': 7
         'name: 'test'
        },
        {
         'id': 8 …
Run Code Online (Sandbox Code Playgroud)

javascript arrays json typescript

5
推荐指数
2
解决办法
2万
查看次数

如何将(对象)数组分区或划分为特定数量的块,可能使用 lodash

我尝试了几种方法,但没有得到预期的结果。

假设我有这样的对象数组:

var users = [
  { 'user': 'barney', 'age': 36, 'active': false },
  { 'user': 'fred',   'age': 40, 'active': true },
  ... and so on (n lenght) ...
];
Run Code Online (Sandbox Code Playgroud)

我想把他们分成两到三组。如果我有 100 个对象,并且我希望将它们分为 3 组,那么第一组和第二组的结果应包含 33 个对象,最后一组应包含 34 个对象(或剩余对象分布的任何其他最佳可能方式)。

我尝试使用 lodash 的 chunk,但效果完全不同:)

console.log(_.chunk(users, 2)) // this will create 50 chunks of 2 objects
Run Code Online (Sandbox Code Playgroud)

编辑我的问题以解释更多信息。

var my arrayOfObj = [1,2,3,4,5,6,7,8,9,10]
myArray.dividThemIn(3) // when run this, I am getting chunks like below
[{1,2,3}, {4,5,6}, {7,8,9}, {10}] // I am finding code …
Run Code Online (Sandbox Code Playgroud)

javascript lodash

4
推荐指数
1
解决办法
3269
查看次数

我如何使用地图呈现项目列表但每 3 个项目分组?

我有一个数组中的一长串项目。这些需要在一个组件中呈现,这应该很好而且很花哨。但是,我需要在每 3 个项目中由另一个组件包装这些。

所以,如果我只是渲染项目,它看起来像这样:

return (
  <div>
    items.map((x, index) => {
      <span key={index}>{x}</span>
    })
  </div>
)
Run Code Online (Sandbox Code Playgroud)

但基本上,我希望每三个项目都被包裹在一个具有特殊类的 div 中,所以是这样的:

return (
  <div>
    <div className='group-of-3'>
      <span>Item 1</span>
      <span>Item 2</span>
      <span>Item 3</span>
    </div>
    <div className='group-of-3'>
      <span>Item 4</span>
      <span>Item 5</span>
      <span>Item 6</span>
    </div>
    .
    .
    .
  </div>
)
Run Code Online (Sandbox Code Playgroud)

这样做的理想方法是什么?请记住,项目的数量确实会发生变化,因此手动进行操作是不可能的。

javascript arrays reactjs

4
推荐指数
1
解决办法
544
查看次数

按3的块排序数组

假设你有一个数组,并希望将它除以3的块.如果数组是..

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
Run Code Online (Sandbox Code Playgroud)

......新阵列将是

let newArr = [1, 4, 7, 10, 13,   2, 5, 8, 11,   3, 6, 9, 12]

// In other words:
1  2  3
4  5  6
7  8  9
10 11 12
13
Run Code Online (Sandbox Code Playgroud)

分块部分应该是这个代码(如果排序的话newArr):

let chunkedArr = _.chunk(_.toArray(newArr), 3);
Run Code Online (Sandbox Code Playgroud)

... ...但是我无法弄清楚如何排序arr,以newArr能够在块正确的顺序.处理此类案件的正确方法是什么?

请注意,整数只是伪,我将使用适当的数组对象.

javascript arrays sorting

3
推荐指数
1
解决办法
124
查看次数

将数组元素作为值推送到对象

我想将数组更改为这样的对象:

array = ["blue" , "txt2" , "red" ,"txt4" , "txt5" , "txt6" ,"txt7" , "txt8" , "txt9" ]
   
pages = {"page1" :["blue","txt2", "red"] , "page2" : ["txt4", "txt5", "txt6"], "page3" : ["txt7" ,"txt8", "txt9"]   
Run Code Online (Sandbox Code Playgroud)

对象中的每个键pages都应该有一个包含 3 个数组元素的数组值(最后一个键可以有更少的元素),因此,例如,如果一个数组有 110 个元素,我们将有 37 个pages(第 1 页,第 2 页,...,第 37 页)和第 37 页将有 1 个元素。

pages所以我想将数组中的每 3 个元素作为对象中键的值

但我不知道该怎么做..谢谢你的帮助

javascript arrays

3
推荐指数
1
解决办法
79
查看次数