相关疑难解决方法(0)

如何从JavaScript中的对象数组中获取不同的值?

假设我有以下内容:

var array = 
    [
        {"name":"Joe", "age":17}, 
        {"name":"Bob", "age":17}, 
        {"name":"Carl", "age": 35}
    ]
Run Code Online (Sandbox Code Playgroud)

能够获得所有不同年龄的数组的最佳方法是什么,以便我得到一个结果数组:

[17, 35]
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以选择构造数据或更好的方法,这样我就不必遍历每个数组检查"age"的值并检查另一个数组是否存在,如果没有则添加它?

如果有某种方式我可以在没有迭代的情况下拉出不同的年龄......

我希望改进的当前无效方式......如果它意味着不是"数组"是一个对象数组,而是一个带有一些唯一键(即"1,2,3")的对象的"地图"好的 我只是在寻找性能最高效的方式.

以下是我目前的做法,但对我来说,虽然迭代确实有效,但迭代看起来效率很高......

var distinct = []
for (var i = 0; i < array.length; i++)
   if (array[i].age not in distinct)
      distinct.push(array[i].age)
Run Code Online (Sandbox Code Playgroud)

javascript arrays unique

325
推荐指数
27
解决办法
40万
查看次数

从JavaScript中的对象数组中删除重复项

我有一个包含对象数组的对象.

things = new Object();

things.thing = new Array();

things.thing.push({place:"here",name:"stuff"});
things.thing.push({place:"there",name:"morestuff"});
things.thing.push({place:"there",name:"morestuff"});
Run Code Online (Sandbox Code Playgroud)

我想知道从数组中删除重复对象的最佳方法是什么.所以,例如,事情会变成......

{place:"here",name:"stuff"},
{place:"there",name:"morestuff"}
Run Code Online (Sandbox Code Playgroud)

javascript arrays object duplicates

306
推荐指数
29
解决办法
32万
查看次数

如何计算数组中某些元素的数量?

如果我有一个数组[1, 2, 3, 5, 2, 8, 9, 2],我想检查2数组中有多少个.在不使用for循环循环的情况下,在JavaScript中执行此操作的最优雅方法是什么?

javascript

119
推荐指数
7
解决办法
32万
查看次数

如何计算数组中每个项目的出现次数?

我有一个如下数组,

var arr = ['ab','pq','mn','ab','mn','ab']
Run Code Online (Sandbox Code Playgroud)

预期结果

arr['ab'] = 3
arr['pq'] = 1
arr['mn'] = 2
Run Code Online (Sandbox Code Playgroud)

试过如下,

$.each(arr, function (index, value) {
    if (value) 
        arr[value] = (resultSummary[value]) ? arr[value] + 1 : 1;
});

console.log(arr.join(','));
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery

17
推荐指数
3
解决办法
4万
查看次数

找出数组元素出现的次数

我是JavaScript新手,我已经学习和练习了大约3个月,希望我能在这个主题上得到一些帮助.我正在制作扑克游戏,而我正在尝试做的是确定我是否有一对,两对,三种,四种或满屋.

例如[1, 2, 3, 4, 4, 4, 3],1中出现1次,4次出现3次,依此类推.

我怎么可能要求我的电脑告诉我一个数组元素出现多少次?

解决了,这是最终产品.

    <script type="text/javascript">
    var deck = [];
    var cards = [];
    var convertedcards = [];
    var kinds = [];
    var phase = 1;
    var displaycard = [];
    var options = 0;
    var endgame = false;

    // Fill Deck //
    for(i = 0; i < 52; i++){
        deck[deck.length] = i;          
    }

    // Distribute Cards //
    for(i = 0; i < 7; i++){
        cards[cards.length] = Number(Math.floor(Math.random() * 52));
        if(deck.indexOf(cards[cards.length - 1]) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

使用javascript计算字符串中字符的频率

我需要编写某种循环来计算字符串中每个字母的频率.

例如:"aabsssd"

输出:a:2,b:1,s:3,d:1

还想在对象中将相同的字符映射为属性名称.有什么好主意怎么做?

我不知道该怎么做.

这是我到目前为止的地方:

var arr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];

function counter(x) {
    var count=0, temp = [];
    x = x.split('');
    console.log(x);
    for(var i=0, len = x.length; i < len; i++) {
        if(x[i] == "a") {
            count++;
        }
    }
    return count;
}
var a = "aabbddd";
console.log(counter(a));
Run Code Online (Sandbox Code Playgroud)

javascript

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

分组数组并获取计数

说我有这样的数组:

[
   "foo",
   "bar",
   "foo"
   "bar",
   "bar",
   "bar",
   "zoom"
]
Run Code Online (Sandbox Code Playgroud)

我想对它进行分组,这样我就可以得到这样的计数:

{
  "foo": 2,
  "bar": 4,
  "zoom": 1
}
Run Code Online (Sandbox Code Playgroud)

有没有可以做到这一点的实用程序?

javascript node.js

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

在数组中查找最长出现的相同数字

使用JavaScript,我试图找到一种方法来找到数组中相同数字(在本例中为1)的最长出现次数.

例如,这是一个示例数组: [2,5,3,1,1,1,3,7,9,6,4,1,1,1,1,1,4,7,2,3,1,1,4,3]

我想编写一个返回"5"的函数,因为数字1连续出现5次.(它也连续发生3次和2次,但我发生的时间最长).

到目前为止,我写道:

function streak(arr) {
    var i,
        temp,
        streak,
        length = arr.length;

    for(i=0; i<length; i++) {
        if (arr[i] === 1) {
            streak += 1;
        } else {
            temp = streak;
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道如果我发现一个事件,我需要某种方式知道我离开的地方,但我感觉有些卡住了.

有什么指针吗?

javascript arrays

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

查找数组中出现频率最高的项(不仅仅是字符串)

有人可以指导我完成这个练习吗?编写一个 JavaScript 程序来查找数组中最频繁的项。

var arr1 = [3, 'a', 'a', 'a', 2, 3, 'a', 3, 'a', 2, 4, 9, 3];
var mf = 1;
var m = 0;
var item;

for (var i = 0; i < arr1.length; i++) {
  for (var j = i; j < arr1.length; j++) {
    if (arr1[i] == arr1[j]) m++;
    if (mf < m) {
      mf = m;
      item = arr1[i];
    }
  }

  m = 0;
}

alert(item + " ( " + mf …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm

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

Javascript - 从数组中删除唯一元素

我想知道如何从数组中删除唯一元素。例如:

var arr = [1, 2, 2, 4, 4]会回来[2, 2, 4, 4]。哪里[1, 2, 3]会返回,[]因为所有元素都是唯一的。

我相信我需要用数组中的每个其他元素检查每个元素,但我不知道如何去做。

谢谢!

javascript arrays

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

标签 统计

javascript ×10

arrays ×7

algorithm ×1

duplicates ×1

jquery ×1

node.js ×1

object ×1

unique ×1