小编Val*_*lip的帖子

如何找到两个JavaScript对象数组之间的差异?

我有两个JavaScript数组orig(原始对象数组)和update(更新的对象的orig数组),它们具有相同的长度并包含对象,我想输出每对对象之间的差异.

例:

var orig = [{enabled:"true", name:"Obj1", id:3},{enabled:"true", name:"Obj2", id:4}]; 

var update = [{enabled:"true", name:"Obj1", id:3}, {enabled:"true", name:"Obj2-updated", id:4}];
Run Code Online (Sandbox Code Playgroud)

输出应该是: name:"Obj2-updated"

我实现了一些东西,但它需要优化......

for(var prop=0; prop<orig.length; prop++) {
  for(prop=0; prop<update.length; prop++) {
    if(orig[prop].enabled != update.enabled) { console.log(update.enabled) }
    if(orig[prop].name != update[prop].name) { console.log(update[prop].name) }
    if(orig[prop].id != update[prop].id) { console.log(update[prop].id) }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays data-manipulation javascript-objects difference

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

如何将字符串转换为数字

我无法弄清楚如何将此字符串转换82144251为数字.

码:

var num = "82144251";
Run Code Online (Sandbox Code Playgroud)

如果我尝试下面的代码,该.toFixed()函数会将我的数字转换回字符串...

问题更新:我正在使用Google Apps脚本编辑器,这一定是问题所在......

num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7
Run Code Online (Sandbox Code Playgroud)

google-apps-script

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

如何将引用分配给多个组件

我正在使用React使用渲染多个数据array.map
如何禁用列表中的单击按钮?

这是我的代码:

  onRunClick(act, e) {
    this.refs.btn.setAttribute("disabled", true);
  }

  render () {
    return (
      <div>
        {
          this.state.acts.map((act) => {
            let boundActRunClick = this.onRunClick.bind(this, act);

            return (
              <p key={act._id}>
                Name: {act.name}, URL(s): {act.urls}
                <button ref='btn' onClick={boundActRunClick}>Run</button>
              </p>
            )
          })
        }
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

使用refs不起作用...我认为我无法添加状态,因为有多个按钮。

javascript reactjs

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

将div的宽度设置为等于另一个div

我想给出我.second_div的宽度first_div,但问题是第一个div没有css中给出的宽度值,我需要使用jQuery找到他的宽度.

HTML:

<div class="first_div">First Div</div>
<div class="second_div">Second.width == First.width</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.second_div,
.first_div {
    border: 1px solid black;
    padding: 2px 4px;
    display:inline-block;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$(document).ready(function(){
    $(".second_div").css({'width':($(".first_div").width()+'px')});
});
Run Code Online (Sandbox Code Playgroud)

jsfiddle:https://jsfiddle.net/ekqecjb8/1/

html css jquery

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

Node.js在for循环中调用calback函数

我试图在for循环中调用一个函数,问题是在循环完成后调用该函数.

以下面的例子为例,它打印到控制台:
here1
here1
here2
here2

代替
here1
here2
here1
here2

report.forEach(item => {
  item.runs.forEach(run => {
    waComplianceBusiness(req, run.id, (err, res) => {
      const compliance = res.data.overviews[0].compliance;
      var failureList = [];

      compliance.forEach((rule, index) => {
        console.log('here1');
        waRuleOverview(req, run.id, rule.id, (err, res) => {
          console.log('here2');
          // handle the response
        });
      });
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

如果我需要提供更多信息,请与我们联系


这是完整的代码:

export default (req, callback) => {
  const report = req.body.webAudits;

  if(report.length > 0) {
    report.forEach(item => {
      item.runs.forEach(run => {
        waComplianceBusiness(req, run.id, …
Run Code Online (Sandbox Code Playgroud)

javascript callback node.js

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

如何覆盖 Material-UI Popover 样式?

如何覆盖组件max-height属性的默认值Popover

我试图添加style={{'maxHeight': '365px'}},但没有任何改变:

<Popover
  style={{'maxHeight': '365px'}}
  className='notif-popover'
  open={this.state.notifOpen}
  anchorEl={this.state.anchorEl}
  anchorOrigin={{horizontal: 'left', vertical: 'bottom'}}
  targetOrigin={{horizontal: 'left', vertical: 'top'}}
  onRequestClose={this.handleRequestClose}
>
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

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

编译错误:WebAssembly.compile():预期的魔术词

我是 WebAssembly 的新手,并试图让一个基本示例正常工作,但.wasm在 Google Chrome 中加载文件会返回:

编译错误:WebAssembly.compile():预期的魔术字 00 61 73 6d,发现 30 30 36 31 @+0

这是 C++ 代码:

#include <iostream>
using namespace std;

int main() 
{
    cout << "Hello, World!";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是 WASM 文件:https://drive.google.com/open?id =1nvoxoeZ6TA9OVc4JFHSwGIVxuDHFnIU1

我在 Chrome 中执行的代码基于文档

function instantiate(bytes, imports) {
  return WebAssembly.compile(bytes).then(function(m) {
      return new WebAssembly.Instance(m, imports)
  });
}

fetch('simple.wasm').then(function(response) {
    return response.arrayBuffer()
})
.then(function(bytes) {
    var importObject = {
        imports: {
            i: function(arg) {
                console.log(arg)
            }
        }
    };
    return …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome webassembly

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

特快专递要求提供ERR_EMPTY_RESPONSE

我正在构建一个node.js和express.js Web应用程序,并且当发布请求花费的时间超过2分钟时,它无法按预期工作。
发生的情况是,在2分钟后,我的express路线被重新调用,然后又过了2分钟(总共4分钟),我在该发布请求的“网络”标签中收到此错误:

净:: ERR_EMPTY_RESPONSE

我读到它express的默认超时设置为2分钟,但这仅适用于获取请求...

这是我的路线:

const router = express.Router();

router.post('/', authenticate, async (req, res) => {
  console.log('here');
  setTimeout(function() {
    res.status(201).json({success: true});   
  }, 400000);
})
Run Code Online (Sandbox Code Playgroud)

here当我发出发布请求时,它将打印到控制台,然后here在2分钟后再次打印。

这是我index来自服务器的文件:

const app = express();

app.use(bodyParser.json({limit: '50mb'}));
const compiler = webpack(webpackConfig);

app.use(webpackMiddleware(compiler, {
  hot: true,
  publicPath: webpackConfig.output.publicPath,
  noInfo: true
}));
app.use(webpackHotMiddleware(compiler));

app.get('/*', (req, res) => {
  res.sendFile(path.join(__dirname, './index.html'));
});

app.listen(3000, () => console.log('Running on localhost:3000'));
app.timeout = 700000;
Run Code Online (Sandbox Code Playgroud)

自从遇到此问题以来已经有两个星期了,任何想法或解决方案都会对我有很大帮助。如果需要提供更多详细信息,请告诉我。

http-post node.js express reactjs

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

Javascript比较多个对象数组

如何比较多个对象数组并根据找到对象的出现次数和找到对象的数组索引添加新属性?对象比较必须由name属性进行。

例子:

var arrays = [
  [
    {
      name: 'aa',
      value: 1
    },
    {
      name: 'ab',
      value: 2
    },
    {
      name: 'ac',
      value: 3
    },
    {
      name: 'aa',
      value: 1
    }
  ],
  [
    {
      name: 'aa',
      value: 1
    },
    {
      name: 'ab',
      value: 2
    },
  ],
  [
    {
      name: 'ac',
      value: 3
    },
    {
      name: 'aa',
      value: 1
    }
  ]
]
Run Code Online (Sandbox Code Playgroud)

执行后,上述数组中的对象应具有以下属性:

[
  [
    {
      name: 'aa',
      value: 1,
      occurrences: 3,
      where: [0, 1, 2]
    },
    {
      name: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm

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

Puppeteer 获取请求重定向

有什么方法可以使用puppeteer请求的响应主体(如果有)来获取重定向?

我实现了以下代码,但找不到获取重定向的方法...

const page = await browser.newPage()

page.on('request', (data) => console.log(data));    

await page.on('response', response => {
    const url = response.url();
    response.buffer()
    .then (
        buffer => {
            bufferString = buffer.toString();         
        },
        error => {
          console.log(error)
        }
    )
})

await page.goto('https://www.ford.com', {waitUntil: 'networkidle0'});
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-headless puppeteer

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