小编Cer*_*nce的帖子

为什么Math.sign([])= 0,Math.sign([20])= 1,而Math.sign([20,30,40])= NaN?

由于Math.sign()按照https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/sign接受数字参数或数字作为字符串,为什么给出以下结果,以及如何给出提供这些结果时发生了内部转换?

console.log(Math.sign([])); // 0

console.log(Math.sign([20])); // 1

console.log(Math.sign([20, 30, 40])) // NaN
Run Code Online (Sandbox Code Playgroud)

javascript

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

检查数组的值是否存在于不同数组中的对象中

我想检查 array1 中的值是否存在于 array2 中的对象中。

数组1:

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

阵列2:

[
  { value: 1, name:  'Monday', isSelected: false }, 
  { value: 2, name: 'Tuesday', isSelected: false  }, 
  { value: 3, name: 'Wednesday', isSelected: false  },
  { value: 4, name: 'Thursday', isSelected: false  }, 
  { value: 5, name: 'Friday', isSelected: false  },
]
Run Code Online (Sandbox Code Playgroud)

我想实现的是检查array1针对array2已命名的属性value。如果对象中的array2值包含在 中array1,则该isSelected属性应更新为 true。我试过了:

this.setState(prevState => ({
  ...prevState,
  array2: prevState.array2.map(el => {
    if (el.value === array2) {
      return { …
Run Code Online (Sandbox Code Playgroud)

javascript arrays reactjs

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

Javascript 防止函数调用

function alertOuter() {
  alert("outer alert")
}

function alertInner() {
  alert("inner alert")
  return
}
Run Code Online (Sandbox Code Playgroud)
<div onclick="alertOuter()" style="padding:20px;background:red;">
  <h1>Outer</h1>
  <br/>
  <button onclick="alertInner()">Inner</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我对onclick事件有两个函数调用。

我想alertOuter在单击按钮时阻止功能。但是,当我单击按钮时,它正在调用这两个函数。

alertOuter当单击按钮只想调用alertInner()函数时,我想阻止该函数

我怎样才能做到这一点?

javascript

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

查找对象数组中的计数总数

包括有多少潜在选民年龄在 18-25 岁之间,有多少人在 26-35 岁之间,有多少人在 36-55 岁之间,以及每个年龄段有多少人实际投票。包含此数据的结果对象应具有 6 个属性。

var voters = [
    {name:'Bob' , age: 30, voted: true},
    {name:'Jake' , age: 32, voted: true},
    {name:'Kate' , age: 25, voted: false},
    {name:'Sam' , age: 20, voted: false},
    {name:'Phil' , age: 21, voted: true},
    {name:'Ed' , age:55, voted:true},
    {name:'Tami' , age: 54, voted:true},
    {name: 'Mary', age: 31, voted: false},
    {name: 'Becky', age: 43, voted: false},
    {name: 'Joey', age: 41, voted: true},
    {name: 'Jeff', age: 30, voted: true},
    {name: 'Zack', age: 19, …
Run Code Online (Sandbox Code Playgroud)

javascript

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

从存在于另一个数组中的数组中获取所有相同元素的最快方法

我需要一种更快的方法从另一个数组中存在的数组中获取所有相同的元素。

我有两个带有 Date 对象(> 100k 元素)的非常大的数组(A 和 B)。数组 B 包含数组 A 中元素的子集。我需要过滤数组 A 中包含在数组 B 中的元素。那么,为什么不直接使用数组 B?我需要保留来自数组 A 的引用。

目前我正在使用此代码:

const A = [];
const B = [];

const result = A.filter((s) => {
     return B.indexOf(s) !== -1;
});
Run Code Online (Sandbox Code Playgroud)

这种方式相当缓慢。使用我的阵列执行该操作需要超过 2 分钟。

javascript arrays

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

如何在JavaScript中写出n * n矩阵值?

我是JavaScript的新手,所以我决定尝试制作一个简单的n * n数组。当我尝试将其写出时,会突然出现某些错误。

var map = [

  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],

  [1, 2, 3, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, 0, 0, 0, 0, 0, 0, 1],

  [1, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在不使用 javascript 中的替换函数的情况下替换字符串?

我正在尝试创建一个 javascript 程序,在其中我用 %20 替换字符串中的所有空格,而不使用替换函数。当我尝试运行我的程序时出现错误。不知道出了什么问题。

let urlEncode = function(text) {
  text = text.trim();
  let newstring;
  for (let i = 0; i < text.length; i++) {
    if (text[i] == " ") {
      newstring[i] = "%20";
    } else {
      newstring[i] = text[i];
    }
  }
  return newstring;
};

console.log(urlEncode("blue is greener than purple for sure"));
Run Code Online (Sandbox Code Playgroud)

javascript

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

ES6 - 将 HTML 字符串解析为数组

我有一个 HTML 格式的字符串:

let dataString = '<p>Lorem ipsum</p> <figure><img src="" alt=""></figure> <p>Lorem ipsum 2</p> <figure><img src="" alt=""></figure>';
Run Code Online (Sandbox Code Playgroud)

如何解析此字符串以获取如下标签数组?

let dataArray = [
  '<p>Lorem ipsum</p>',
  '<figure><img src="" alt=""></figure>',
  '<p>Lorem ipsum 2</p>',
  '<figure><img src="" alt=""></figure>',
];
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

如何循环渐变方向

nedd 循环一个元素的梯度方向

在下面的代码中,只有第一次点击才能正常工作

顺便说一句,我想有一种更短的方法可以做到这一点

var targ = $('#targ');
$('button').on('click', function(){
	var a = targ.css('background-image');
	console.log(a);
	if(~a.indexOf('to right,')){targ.css('background-image', a.replace('right', 'right bottom'));}
	else if(~a.indexOf('to right bottom,')){targ.css('background-image', a.replace('right bottom', 'bottom'));}
	else if(~a.indexOf('to bottom,')){targ.css('background-image', a.replace('bottom', 'bottom left'));}
	else if(~a.indexOf('to bottom left,')){targ.css('background-image', a.replace('bottom left', 'left'));}
	else if(~a.indexOf('to left,')){targ.css('background-image', a.replace('left', 'left top'));}
	else if(~a.indexOf('to left top,')){targ.css('background-image', a.replace('left top', 'top'));}
	else if(~a.indexOf('to top,')){targ.css('background-image', a.replace('top', 'top right'));}
	else if(~a.indexOf('to top right,')){targ.css('background-image', a.replace('top right', 'right'));}
	console.log(targ.css('background-image'));
});
Run Code Online (Sandbox Code Playgroud)
#targ{height:45px;}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>CLICK</button>
<br><br>
<div id='targ' style="background-image:linear-gradient(to right, rgb(109, …
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

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

标签 统计

javascript ×9

arrays ×2

css ×1

ecmascript-6 ×1

jquery ×1

reactjs ×1