小编lea*_*eaf的帖子

如何按升序对奇数数组进行排序,但将偶数保持在其位置?

我想只排序奇数而不移动偶数.例如,当我写:

sortArray([5, 3, 2, 8, 1, 4])
Run Code Online (Sandbox Code Playgroud)

预期的结果是:

[1, 3, 2, 8, 5, 4]
Run Code Online (Sandbox Code Playgroud)

我是JavaScript的新手,我在互联网上遇到了让我感到困惑的挑战.我通常不会在互联网上发帖要求解决方案,但我已经尝试了几个小时,我想用JavaScript学习这个概念.

挑战表明:

你有一系列数字.你的任务是对升序奇数进行排序,但偶数必须在他们的位置.零不是奇数,你不需要移动它.如果您有一个空数组,则需要返回它.

这是我的代码到目前为止,请放轻松我,我正处于编程的开始阶段.

function sortArray(array) {
  let oddNums = [];
  for(let i = 0; i < array.length; i++) {
    if(array[i] % 2 !== 0) {
      oddNums.push(array[i]);
    }
  }
  oddNums = oddNums.sort((a,b)=> a-b);
  array.concat(oddNums);
  array = array.sort((a,b) => a-b);
  return array;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting modulus

3
推荐指数
2
解决办法
3308
查看次数

组合用例的数组

Node.js应用程序,编写验证测试.鉴于以下内容:

var obj = { foo: null, bar: null, baz: null},
    values = [ 0, 1];
Run Code Online (Sandbox Code Playgroud)

我需要创建n个对象来解释为每个可能值的组合分配的每个属性,以表示每个可能的用例.因此,对于此示例,输出应为2 ^ 3 = 8个对象,例如

[
    { foo: 0, bar: 0, baz: 0},
    { foo: 0, bar: 1, baz: 0},
    { foo: 0, bar: 1, baz: 1},
    { foo: 0, bar: 0, baz: 1},
    { foo: 1, bar: 0, baz: 0},
    { foo: 1, bar: 1, baz: 0},
    { foo: 1, bar: 1, baz: 1},
    { foo: 1, bar: 0, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays testing node.js

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

在jS中减去两个字符串

我想找到Javascript中两个字符串之间的区别。

给定两个字符串

 var a = "<div>hello</div><div>hi</div><div>bye/</div>";
 var b = "<div>hello</div><div>hi</div>";
Run Code Online (Sandbox Code Playgroud)

结果应该是 "<div>bye</div>".

类似于公式:

var result = a - b;
Run Code Online (Sandbox Code Playgroud)

&我需要用Javascript实现(在JS中是否有任何默认方法可用?)

谁能帮我吗?

javascript

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

Javascript - 计算具有值的数组对象

我得到一个数组返回给我,我需要计算其中有值的行

我试过调用arr.length,但这给了我数组的总长度

var arr = [
  { id: '1', '': '' },
  { id: '2', '': '' },
  { id: '3', '': '' },
  { id: '4', '': '' },
  { id: '', '': '' },
  { id: '', '': '' },
  { id: '', '': '' }
]
Run Code Online (Sandbox Code Playgroud)

结果应该是4.

javascript arrays count

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

将多维对象数组简化为单个对象数组

我有这个多维的对象数组-

const initialArray = [
  {
   name: 'aaa', 
   value:[{id:1, data:1}, {id:2, data:2}, {id:3, data:3}]
  },
  {
   name: 'bbb', 
   value:[{id:1, data:4}, {id:2, data:5}, {id:3, data:6}]
  },
  {
   name: 'ccc', 
   value:[{id:1, data:7}, {id:2, data:8}, {id:3, data:7}]
  },
  {
   name: 'ddd', 
   value:[{id:1, data:2}, {id:2, data:1}, {id:3, data:1}]
  }
]
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为该数组-

const finalArray = [
  {
    id: 1, aaa: 1, bbb: 4, ccc: 7, ddd: 2
  },
  {
    id: 2, aaa: 2, bbb: 5, ccc: 8, ddd: 1
  },
  {
    id: 3, aaa: 3, …
Run Code Online (Sandbox Code Playgroud)

javascript arrays reduce transpose object

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

DRY - 如何组合这些jQuery函数?

原始问题:

我正在看这个我知道可以减少约90%的代码块.我只是想不出怎么做.

这是我所指的块:

$('table.model a').click(function(){
var divForm = [$('div.form')];
$(this).closest('div').not('.close').fadeOut(500).animate({"top": "-414px"}, 100).fadeIn('fast');
    if ($(this).hasClass('tmi48')) {
        $('img.i4').show();
        $('h1.tmi48').show();
    } else if ($(this).hasClass('tmi416')) {
        $('img.i4').show();
        $('h1.tmi416').show();
    } else if ($(this).hasClass('tmi432')) {
        $('img.i4').show();
        $('h1.tmi432').show();
    } else if ($(this).hasClass('tmi464')) {
        $('img.i4').show();
        $('h1.tmi464').show();
    } else if ($(this).hasClass('tmi4s16')) {
        $('img.i4s').show();
        $('h1.tmi4s16').show();
    } else if ($(this).hasClass('tmi4s32')) {
        $('img.i4s').show();
        $('h1.tmi4s32').show();
    } else if ($(this).hasClass('tmi4s64')) {
        $('img.i4s').show();
        $('h1.tmi4s64').show();
    } else if ($(this).hasClass('tmi516')) {
        $('img.i5').show();
        $('h1.tmi516').show();
    } else if ($(this).hasClass('tmi532')) {
        $('img.i5').show();
        $('h1.tmi532').show();
    } else if ($(this).hasClass('tmi564')) {
        $('img.i5').show();
        $('h1.tmi564').show(); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

如何通过循环在数组中创建负数?

我想知道如何使用for循环创建一个类似下面的数组(请注意,接受的答案包括0,而不是我的要求.我想我应该默想这一点并停止忽略人们的评论).

var arr = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Run Code Online (Sandbox Code Playgroud)

我的尝试无法在数组中打印负数.

for (var i = -10; i <= 10; i++) {
    arr[i] = i;
}
Run Code Online (Sandbox Code Playgroud)

结果:

0,1,2,3,4,5,6,7,8,9,10
Run Code Online (Sandbox Code Playgroud)

我也不想要数组中的负数索引.

arr[-10]....arr[-9].....arr[1]...
Run Code Online (Sandbox Code Playgroud)

javascript arrays loops

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

Javascript regexp.test().NET等效

如何在C#中执行以下操作:

var re = /^\d{4}(\/\d{2}){2} \d{2}(:\d{2}){2}$/;
re.test('2013/03/05 15:22:00'); // returns true
Run Code Online (Sandbox Code Playgroud)

javascript c# regex equivalent

0
推荐指数
1
解决办法
1100
查看次数

在函数之后找到$(this)

所以这是我的问题:我正在使用一个函数,我需要使用类"middleone"特定于每个tr的函数.它应该使用类"middleone"改变tr内部div的内部.但它不起作用!

我知道它的递归部分正在工作,并且"导航"应该是正确的,因为即使我只使用$(this)它也没有做任何事情.当使用document.getElementById它工作正常,但当然只针对第一个div和代码的完整版本必须"去这里,从这里拉,把它放在这里,去下一个区域,从这里拉...等等"这是测试代码.

$('.middleone').each(function() {
    var tripleeagain = $(this).find('div')
    tripleeagain.innerHTML = "$";
});
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

html javascript variables jquery function

0
推荐指数
1
解决办法
52
查看次数

JavaScript:用于"拆分"功能的正则表达式,用于排除逗号和换行符

我有以下结构的文本文件:

2013-12-31 15:42,1
2013-12-31 15:45,1
2013-12-31 15:45,0
2013-12-31 16:18,0
2013-12-31 16:18,1
2013-12-31 16:27,1
2013-12-31 16:27,0
2013-12-31 17:11,0
2013-12-31 17:11,1
2013-12-31 18:11,1
2013-12-31 18:11,0
Run Code Online (Sandbox Code Playgroud)

我通过get()导入它:

$.get('graph_data.txt', function(data){
...}
Run Code Online (Sandbox Code Playgroud)

这工作正常.后来我将这个数据解析为数组:

var array3 = data.split("\n");
Run Code Online (Sandbox Code Playgroud)

但我需要做的是用逗号或换行符拆分它.我知道split可以得到正则表达式,但我所做的所有尝试都没有成功:

.split("[,\\n]");
.split("/,|\s/");
.split("/,|\s/m");
Run Code Online (Sandbox Code Playgroud)

对我有用的是分两步完成 - 首先分成一个分隔符,然后分成第二个分隔符:

var array3 = data.split("\n")[0].split(",");
var array5 = data.split("\n")[1].split(",");
Run Code Online (Sandbox Code Playgroud)

但如果我在文件中有更多数据,那就太疯狂了.


为了实现我想要实现的目标,我需要更多的亮点:我需要获得用于绘制图表的coordainates数组.第一个值是日期,第二个值是0或1.

var line=[
    ['2013-12-31 15:42',1],
    ['2013-12-31 15:45',1],

    ['2013-12-31 15:45',0],
    ['2013-12-31 16:18',0],

    ['2013-12-31 16:18',1],
    ['2013-12-31 16:27',1],

    ['2013-12-31 16:27',0],
    ['2013-12-31 17:11',0],

    ['2013-12-31 17:11',1],
    ['2013-12-31 18:11',1],

    ['2013-12-31 18:11',0]
];
Run Code Online (Sandbox Code Playgroud)

我通过将每对中的第二个字符串映射到int来做到这一点:

var a1 = [array3[0], array5[0]]; …
Run Code Online (Sandbox Code Playgroud)

javascript regex jqplot

0
推荐指数
1
解决办法
350
查看次数

函数中的三元运算符

我是三元运营商的新手.我有以下功能.我想了解发生了什么:

function toProperHex(hex) {
    hex = hex.toLowerCase();
    return hex ? hex != 'ffffff' ? '#' + hex : '#eee' : '#000';
}
Run Code Online (Sandbox Code Playgroud)

我知道之前的事情是什么?条件是什么,接下来是变量在条件为真时变为的值,并且在冒号之后,如果条件不为真,则变为可变的变量.现在显然有两个条件和三个可能的结果.这是一个带有三元结构的if/else if语句.澄清将不胜感激.

谢谢!

javascript ternary-operator

0
推荐指数
1
解决办法
67
查看次数