Возвращает подмножество массив объектов, который соответствует другому массиву объектов

входы:

const parentArray = [
{id:1, name:'foo'},
{id:2, name:'bar'},
{id:4, name:'foobar'},
{id:6, name:'barfoo'}
]

const childArray = [
  {parent_id:1, prop:'prop1'}, 
  {parent_id:2, prop:'prop2'}, 
  {parent_id:3, prop:'prop3'},
  {parent_id:4, prop:'prop4'},
  {parent_id:5, prop:'prop5'}
];

выход:

const resultingArray = [
{id:1, name:'foo'},
{id:2, name:'bar'},
{id:4, name:'foobar'}
]

Я хочу сравнить свойства и из обоих массивов и возвращает подмножество для сопоставления свойства

Я пытался фильтровать их, но не добились успеха, используя лодашь

+1
2019-09-18 17:04:11
источник
6 ответов

Одна из ваших проблем, как представляется, здесь:

render(){
  return(
     <div> this.state.x </div>
  )
}

В React, для того, чтобы получить доступ к состоянию, вы должны использовать " {}", чтобы войти JavaScript, когда в области визуализации. Это на самом деле одна из больших вещей о реагируют вообще. Это позволяет вам получить доступ к переменные от государства или еще каких-либо JavaScript в между "рендер(){" и "возвращение()" зона.

Одной из причин данные не возврат не имеет доступа в среде JavaScript, потому что это рендеринг "это.государства.х" как текст, а не государство.

Попробовать

render(){
  return(
   <div> {this.state.x} </div>
  )
}
+3
2019-09-18 17:10:05

Кажется, что вы хотите последнее обновление некоторых данных в компоненте с удаленного сервера. Если это то, что вы хотите достичь, вы можете просто опрашивать сервер каждые X секунд с . Сделать это в ваш componentDidMount()

componentDidMount() {

    this.interval = setInterval(() => {
        const data = this.fetchData() // Return result of an ajax call
        this.setState({myData: data})
    }, 1000) // Replace x with what suits you

}

Также помните, чтобы очистить интервал в ваш componentWillUnmount()

componentWillUnmount() {
   clearInterval(this.interval);
 }
+3
2019-09-18 17:10:05

пожалуйста, используйте обещаю для API выборки, пожалуйста, проверьте componentDidMount

constructor(props){
  super(props);
  this.state = ({ x:0 })
}

componentDidMount(){
  fetchingdata()
   .then((res) => {
      this.setState({x:res[x]}) 
   })
}

componentDidUpdate(prevState, prevProps, snapshot){
  if(prevProps.x !== this.state.x){
    return fetchingdata()
  }
}

render(){
  return(
    <div> this.state.x </div>
  )
}
+3
2019-09-18 17:10:05

Можете ли вы попробовать это? Не установлен в. Тогда вы можете сделать как ниже

ts['ewm']=ts.groupby(['C1'], sort=False).apply(lambda x: x['X1'].ewm(halflife=10).mean()).reset_index(drop=True)
+2
2019-09-18 17:13:21

Давайте, используя transform устранить проблему

t['ewm'] = ts.groupby(['C1'])['X1'].transform(lambda x: x.ewm(halflife=10).mean()).values()
+2
2019-09-18 17:13:21

Использовать это вместо console.log('xmldata', result);

Потому что у вас нет реферера С переменная из

chrome.storage.sync.get(['xmldata'], function(result) {
   console.log('Value currently is ' + result.xmldata);
});
+0
2019-09-18 17:14:10

Посмотрите другие вопросы по меткам