小编Pin*_*eda的帖子

在javascript中按名称获取子节点

如何获得具有特定名称的html标签的所有子项?

我们假设我有一个<div>看起来像这样的东西

<div id=test>
    <input name=test1/>
    <input name=test2/>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我有div元素,我怎样才能得到名为test1或test2的孩子?我试过了

div.getElementsByName('test1')
Run Code Online (Sandbox Code Playgroud)

但那不起作用?

html javascript

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

lodash find数组返回undefined

我有2个阵列

const arr1 = [[1,2],[3,4],[5,6]];
const arr2 = [1,2,3,4,5];
Run Code Online (Sandbox Code Playgroud)

我想得到这些数组中的具体元素来记录
有2种情况:
1 /

console.log(_.find(arr1,0,1));
console.log(_.find(arr2,0,1));
Run Code Online (Sandbox Code Playgroud)

它返回undefinedarr2
2 /

console.log(_.find(arr1[1],0,1));
Run Code Online (Sandbox Code Playgroud)

这个也回来了undefined.
谁能告诉我这里缺少什么?

编辑
对于 console.log(_.find(arr1,0,1));我和@ Mr.7有2个不同的结果:结果我有Chrome的控制台上[3,4],但是,jsfiddle就是[1,2]这是一样的Mr.7.我注意到有些奇怪的事_.find
这是我的代码:

import _ from 'lodash';

const arr1 = [[1,2],[3,4],[5,6]];
const arr2 = [1,2,3,4,5];
const arr3 = [[0,2],[3,4],[5,6]];

console.log(_.find(arr1,1,1));//[3,4]
console.log(_.find(arr1,0,1));//[3,4]
console.log(_.find(arr2,2));//undefined
console.log(_.find(arr1,0));//[1,2]

console.log(_.find(arr3,0));//[3,4]
console.log(_.find(arr1,1));//[1,2]
Run Code Online (Sandbox Code Playgroud)

javascript arrays ecmascript-6 lodash

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

Webpack入门,导入错误

我开始使用Webpack,但已遇到以下问题:我创建了一个app/index.js文件(如文档中所述).我还创建了一个index.html文件(从文档中复制了HTML和CSS).我在CLI中运行了正确的命令(包括生成dist/bundle.js文件).

代码:

<!DOCTYPE html>
<html lang="nl">
    <head>
        <meta charset="UTF-8">
        <title>Webpack</title>
        <!-- <script src="https://unpkg.com/lodash@4.16.6" type="text/javascript"></script> -->
        <script src="dist/bundle.js" type="text/javascript"></script>
    </head>
    <body>
        <!-- Markup here -->
        <div id="root"></div>

        <!-- <script src="app/index.js" type="text/javascript"></script> -->
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JS:

// To bundle the lodash dependency with the index.js, we need to import lodash.
import _ from 'lodash';

function component () {
    var element = document.createElement( 'div' );

    /* lodash is required for the next line to work */
    element.innerHTML = _.map( [ 'Hello, webpack' ], …
Run Code Online (Sandbox Code Playgroud)

html javascript npm webpack babeljs

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

this.setState使变量未定义?

我正在尝试增加我的状态变量,但每当我这样做时会弹出一个错误,表示变量状态是未定义的.我在构造函数中定义了我的变量.显然,setState函数正在发生一些事情.

以下是呈现错误的代码:

displayDiv(){
  var arr=[];
  if (this.state.flag[2]){
    this.setState({counter:counter+4}); // error:undefined
    for (let i = this.state.counter-4; i < this.state.counter; i++)
      arr.push(this.state.arrayHeader[0].content);
    }
  }
 return(
   arr.map(function(item,i){
     return (
       <div className="bodydiv col-sm-3">
         <Header/>
         <Content/>
         <Tags/>
       </div>
     );

    })
  );
}
Run Code Online (Sandbox Code Playgroud)

这是构造函数中定义的变量:

constructor(props){
  super(props);

  this.state = {
    arrayHeader:[],
    arraytag1:[],
    arraytag2:[],
    counter:0,
    flag:[false,false,false]
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript setstate reactjs

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

优先级:逻辑或三元运算符

请考虑以下内容:(
编辑:我稍微修改了函数以删除三元运算符的使用或括号)

function someFunction(start,end,step){
  var start = start || 1,
      end = end || 100,
      boolEndBigger = (start < end);   // define Boolean here
      step = step || boolEndBigger ? 1:-1;
  console.log(step); 
}

someFunction()
// step isn't defined so expect (1<10) ? 1:-1  to evaluate to 1

someFunction(1,10)  
// again step isn't defined so expect to log 1 as before
Run Code Online (Sandbox Code Playgroud)

问题:

someFunction(1,10,2) 
//step IS defined, shortcut logical OR || should kick in, 
//step should return 2 BUT it returns 1 …
Run Code Online (Sandbox Code Playgroud)

javascript ternary-operator operator-precedence logical-or

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

ReactJS中的props是什么,与Angular的$scope相同吗?

ReactJS 中的 props 是什么?与 AngularJS 的 $scope 相同吗?我似乎无法理解反应中的道具,因为我对它很陌生。先感谢您。

javascript reactjs

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

undefined不是一个函数(在本机应用程序中评估'_this2.closeDrawer()')错误

我是反应原生的初学者.我正在使用NativeBase组件进行设计.当我使用抽屉应用程序给出此错误

undefined is not a function (evaluating '_this2.closeDrawer()')
Run Code Online (Sandbox Code Playgroud)

这是错误的屏幕截图

在此输入图像描述

抽屉代码在这里

import React, { Component } from 'react';
import { Drawer } from 'native-base';
import SideBar from './sidebar';
import Signup from './signup';
import { View } from 'react-native';

export default class NativeDrawer extends Component {
  render() {
    closeDrawer = () => {
      this.drawer._root.close()
    };
    openDrawer = () => {
      this.drawer._root.open()
    };
    return (
      <View>

        <Drawer
          ref={(ref) => { this.drawer = ref; }}
          content={<SideBar navigator={this.navigator} />}
          onClose={() => this.closeDrawer()} >
        </Drawer>
      </View> …
Run Code Online (Sandbox Code Playgroud)

javascript android reactjs react-native native-base

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

如何传递具有多个可能参数列表的回调函数

这里有两个回调函数:

function callback_a(){
  alert('a');
}

function callback_b(p){
  alert('b says'+ p)'
}
Run Code Online (Sandbox Code Playgroud)

如果我想使用 callback_a

function test(callback){
  if(condition){
    callback();
  }
}

test(callback_a);
Run Code Online (Sandbox Code Playgroud)

但是该函数test不适用于callback_b,那么如何实现一个可以传递一些带有多个可能参数列表的回调函数的通用函数。

javascript

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

Java正则表达式与预期不匹配

我最近在Java中使用正则表达式,我无法解决这个问题.

        Pattern p = Pattern.compile("[^A-Z]+");
        Matcher matcher = p.matcher("GETs");
        if (matcher.matches()) {
            System.out.println("Matched.");
        } else {
            System.out.println("Did not match.");
        }
Run Code Online (Sandbox Code Playgroud)

结果:未匹配(意外结果)说明这一点

我得到输出"不匹配." 这对我来说很奇怪,在阅读https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html时,我正在使用X +,它匹配"一个或多个倍".

我以为我的代码用语言会是这样的:

"检查字符串"GETs"中是否有一个或多个不属于A到Z的字符."

所以我期待以下结果:

"是的,在"GETs"中有一个不属于AZ的角色,正则表达式是一场比赛."

然而事实并非如此,我很困惑为什么会这样.我尝试了以下方法:

        Pattern p = Pattern.compile("[A-Z]+");
        Matcher matcher = p.matcher("GETs");
        if (matcher.matches()) {
            System.out.println("Matched.");
        } else {
            System.out.println("Did not match.");
        }
Run Code Online (Sandbox Code Playgroud)

结果:不匹配.(预期结果)

        Pattern p = Pattern.compile("[A-Z]+");
        Matcher matcher = p.matcher("GET");
        if (matcher.matches()) {
            System.out.println("Matched.");
        } else {
            System.out.println("Did not match.");
        }
Run Code Online (Sandbox Code Playgroud)

结果:匹配.(预期结果)

请解释为什么我的第一个例子不起作用.

java regex

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

array.filter by object属性,未定义参数

我正在尝试编写一个带有2个参数的过滤函数: id类型和实际的id值.使用这些ID,我想过滤一个对象数组.

例如,在这里我试图获得一个只包含名称为的值的新数组'Mike'.

宾语:

var sample = [
{ name: 'Mike'},
{ name: 'John'}
];
Run Code Online (Sandbox Code Playgroud)

过滤功能:

function filterById(obj, parameter, id) {
    return obj.parameter == id;
}
Run Code Online (Sandbox Code Playgroud)

这个:

console.log(sample.filter(filterById(name, 'Mike')));
Run Code Online (Sandbox Code Playgroud)

返回名称未定义.

我是否也需要传入实际的数组?是否可以将参数传递给过滤器功能?

javascript

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

关于React,TypeError的路由:无法读取未定义的属性'getCurrentLocation'(...)

我正在尝试使用ReactJS的基本内容,我正在尝试了解如何使用React-Router

这是我的代码:

var React = require('react');
var ReactDOM = require('react-dom');
var Router = require('react-router').Router;
var Route = require('react-router').Route;

const Home = React.createClass({
  render: function() {
    return (<h1>Welcome to the Home Page</h1>);
  }
});

ReactDOM.render((
    <Router>
      <Route path="/" component={Home} />
    </Router>
), document.getElementById('root')); 
Run Code Online (Sandbox Code Playgroud)

我一直收到以下错误:

未捕获的TypeError:无法读取未定义的属性'getCurrentLocation'(...)

我正在使用webpack将jsx编译成js,我错过了什么?(顺便说一下,webpack没有错误)

谢谢!

reactjs react-router

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

使图像适应容器大小

我有一个网页,我在拇指视图中显示了很多图像,所以我有一个所有拇指的定义大小:

在此输入图像描述

然后,加载在该容器中的图像可以更高或更宽,所以我希望它能够正确显示.例如:如果图像较高,则应显示中心:

在此输入图像描述

然后,如果图像更宽,它应该是:

在此输入图像描述

目前图像正在填充整个容器,因此其中一些不按预期显示,一些正在扩展而另一些则太宽.提前致谢!

html css image css3

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

传递给函数的数组不会变异?

我认为Arrays是对象所以当我执行这行代码时,我期待得到[3,3,3]因为我改变了数组.但是我得到了[2,4,6]

var arr = [2,4,6];

function checkArr(arr){
    arr = [3,3,3];
}

console.log(arr)
Run Code Online (Sandbox Code Playgroud)

如果我添加一个return语句,那么我得到了我期望的值.我想知道为什么在执行函数期间给arr一个新值时需要返回.

var arr = [2,4,6];

function checkArr(arr){
    arr = [3,3,3];
  return arr;
}

console.log(arr)
Run Code Online (Sandbox Code Playgroud)

最后,在这个for循环中我不使用,return并且数组值被更改!我有点困惑.为什么第一个例子没有改变值arr

var arr = [2,4,6];

function checkArr(arr){
    for(var i = 0; i<arr.length; i++){
    arr[i] = 3
  }
}

console.log(arr)
Run Code Online (Sandbox Code Playgroud)

javascript arrays pass-by-reference

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